如何将修改内容作为android布局xml文件?

时间:2012-03-26 10:39:55

标签: android xml copy

我已经用一些属性实现了修改xml布局的应用程序。 我在R.layout.main设计了一个xml文件。

我正在从我的活动类设置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 =“gone”   //我想从活动类

更改上述属性
    <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 :(得分:0)

替换

setContentView(R.layout.main);

通过

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

现在,您可以参考修改后的视图,并可以将其指定到所需的位置。