0

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

4

2 回答 2

1

您可以使用一个简单的标志。从 Bundle 或磁盘读取您的第一个 Activity 中的标志(请参阅数据存储)。在第一个 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 中。我再次使用了一个简单的捆绑包,您可以通过它setResult()甚至可以通过startActivity()

于 2013-01-14T17:26:29.567 回答
0

您必须将第一个 Activity(layout1 或 layout2)的设置存储在某处,两个 Activity 都可以访问该值,而您的第二个 Activity 也可以写入它。您可以使用 SharedPreferences、静态变量或Android 开发人员指南中提到的几乎所有内容。

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

于 2013-01-14T17:27:53.387 回答