我是Android开发的新手,我正在努力找出实现以下目标的最佳方法:
我想要一个包含多个按钮的主菜单。每个按钮都应加载第二个Activity并将一些数据传递给此Activity。
辅助活动应显示一个在三个不同视图或活动之间切换的标签栏: 1.为每个元素创建静态视图(主菜单上的按钮) 2.具有与该元素相关联的一组图像的图库 3.另一个包含动态内容的页面,如地图和图像。
我的想法:为每个元素创建一个json文件,并将该文件的名称传递给Secondary Activity,然后可以使用该数据创建视图。
问题:您可以将layout.xml文件的名称存储为字符串然后加载吗?
那么最好的做法是什么呢?
答案 0 :(得分: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)的选项,它可以被视为对象的容器。