如何从另一个类更改内容视图?

时间:2013-01-14 17:16:45

标签: android xml

我有first.class和second.class。 我如何通过click.class中的click按钮更改first.class中的ContentView(xml文件)? (也许我的问题很简单,但我找不到答案。)

2 个答案:

答案 0 :(得分:1)

您可以使用简单的旗帜。从Bundle或磁盘中读取第一个Activity中的标志(参见Data Storage)。在第一个Activity的onCreate()方法中使用类似这样的内容:

// Read the flag, in this case from an Intent
int choice = 0;
Intent intent = getIntent();
if(intent != null)
    choice = intent.getIntExtra(LAYOUT_PREFERENCE, 0);

// Load the appropriate layout
switch(choice) {
case 0: 
    setContentView(R.layout.one);
    break;
case 1:
    setContentView(R.layout.two);
    break;
//etc
}

在第二个Activity中设置此标志,特别是在Button的OnClickListener中。我再次使用了一个简单的Bundle,您可以通过setResult()甚至startActivity()

传递

答案 1 :(得分:0)

您必须在某处存储第一个A​​ctivity(layout1或layout2)的设置,其中两个Activities都可以访问该值,而您的第二个Activity也可以写入它。您可以使用SharedPreferences,静态变量或几乎所有提到的in the Android Developer Guide

如果您总是从第二个Activity开始第一个活动,您还可以将布局添加为调用意图的额外活动。