Как получить модифицированный контент в виде Android-макета XML-файла? - PullRequest
1 голос
/ 26 марта 2012

Я реализовал приложение для изменения макета XML с некоторыми свойствами. Я разработал XML-файл на R.layout.main.

Я устанавливаю свойство Visibility из моего класса активности. Когда я обновляю файл main.xml во время выполнения, я хотел бы получить копию файла main.xml с обновленным свойством Visibility как пропавшую *

Первоначально файл main.xml выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

// Здесь я не установил Android: visibility = "ушел" // Я хотел бы изменить указанное выше свойство из класса активности

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Question1" android:textColor="#ffffff"/>

    <CheckBox
        android:id="@+id/questioncheckBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <EditText
        android:id="@+id/editTextone"
        android:layout_width="180dip"
        android:layout_height="wrap_content" android:focusable="true">
    </EditText>

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>
</LinearLayout>

Я реализовал свое приложение следующим образом:

   public class ContentExmpleActivity extends Activity {

LinearLayout l1,l2;
CheckBox c1,c2;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    l1 =((LinearLayout)findViewById(R.id.linearLayout1));
    l2=((LinearLayout)findViewById(R.id.linearLayout2));
    c1=((CheckBox)findViewById(R.id.checkBox1));
    c2=((CheckBox)findViewById(R.id.checkBox2));

    c1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            l1.setVisibility(View.GONE);
        }
    });

    c2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            l2.setVisibility(View.GONE);
        }
    });

    ((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            //Implementation for get the modified content xml layout with properties from emulator

        }
    });


}
 }

из приведенного выше класса я скрываю макет, когда пользователь устанавливает флажок, тогда он скрывается. Когда пользователь нажимает кнопку «Сохранить», я хочу получить файл contentView xml в виде макета Android xml.i означает копию main.xml с измененными свойствами в качестве скрывающих свойств макета.

Как получить копию файла main.xml после изменения содержимого?

пожалуйста, любое тело, помогите мне .....

1 Ответ

0 голосов
/ 26 марта 2012

Заменить

setContentView(R.layout.main);

от

View vi = View.inflate(this, R.layout.main, null);
setContentView(vi);

Теперь у вас есть ссылка на ваш измененный вид, и вы можете назначить его где хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...