我有first.class和second.class。 我如何通过click.class中的click按钮更改first.class中的ContentView(xml文件)? (也许我的问题很简单,但我找不到答案。)
答案 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)
您必须在某处存储第一个Activity(layout1或layout2)的设置,其中两个Activities都可以访问该值,而您的第二个Activity也可以写入它。您可以使用SharedPreferences,静态变量或几乎所有提到的in the Android Developer Guide。
如果您总是从第二个Activity开始第一个活动,您还可以将布局添加为调用意图的额外活动。