0

我对 Android 开发非常陌生,我正在尝试找出实现以下目标的最佳方法:

我想要一个包含多个按钮的主菜单。这些按钮中的每一个都应该加载第二个 Activity 并将一些数据传递给这个 Activity。

辅助活动应该显示一个标签栏,可以在三个不同的视图或活动之间切换: 1. 为每个元素创建的静态视图(主菜单上的按钮) 2. 包含一组与该元素相关联的图像的图像库 3. 另一个页面动态内容,例如地图和图像。

我的想法:为每个元素创建一个 json 文件并将该文件的名称传递给辅助活动,然后可以使用该数据创建视图。

问题:你能把layout.xml文件的名字存储为字符串然后加载吗?

那么解决这个问题的最佳实践是什么?

4

1 回答 1

0

传递您想要在第二个活动中显示的布局/哪些视图的信息作为用于启动活动的意图的额外信息:

Intent i = new Intent(FirstActivity.this, SecondActivity.class);
i.putExtra("layout_identifier", 5);
startActivity(i);

然后在接收活动 onCreate() 中提取此信息:

Bundle b = getIntent().getExtras();
int layout = b.getInt("layout_identifier", 0);
switch (layout) {
case 5:
    setContentView(R.layout.activity_second_layout5);
    break;

请注意,传递的数据类型不一定必须是 int,您可以传递所有原语、字符串和名为 Parcelable ( https://developer.android.com/reference/android/os/Parcelable.html ) 的第三个选项,它可以是被认为是对象的容器。

于 2013-10-29T15:24:59.470 回答