【发布时间】:2011-05-08 12:54:30
【问题描述】:
在我想显示随机 xml 布局之前,我遇到了一个非常相似的问题。我已经做到了——在 Ben Williams 的大力帮助下——使用了一个名为 DisplayRandomPage.class 的类,并且我有一个带有四个按钮的 main.xml 布局。
这是Main.class的代码:
switch (view.getId()) {
case R.id.first_button:
startActivity(new Intent(this, FirstPage.class));
break;
case R.id.second_button:
startActivity(new Intent(this, SecondPage.class));
break;
case R.id.third_button:
startActivity(new Intent(this, ThirdPage.class));
break;
case R.id.random_button:
Intent intent = new Intent(this, DisplayRandomPage.class);
startActivity(intent);
这是在 DisplayRandomPage.class 中:
public class DisplayRandomPage extends Activity {
private Integer [] mLinearLayoutIds = {
R.layout.one
R.layout.two,
R.layout.three
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Random random = new java.util.Random();
int rand = random.nextInt(3);
setContentView(mLinearLayoutIds[rand]);
}
}
我想做的是创建一个 DisplaySpecificPage.class。上面我展示了带有 switch-case-clause 的 main.class。因此,当我单击第一个按钮时,它将启动 FirstPage.class,单击第二个按钮,它将启动 SecondPage.class,依此类推。因此,对于每个 xml 文件,我必须创建一个新的 java-class,尽管不同的 java-classes 都一样。只有 xml 文件不同。所以我想这样写:
伪代码:
case R.id.first_button:
startActivity(new Intent(this, DisplaySpecificPage.class)) with R.layout.first_page;
break;
如何从布局 (R.layout.first_page) 传递 ID?
【问题讨论】: