android - 如何在意图的帮助下打开活动托管的第 n 个片段?
问题描述
我有一个包含 12 个片段的活动。另一个有 12 个按钮的活动。我想在单击第一个按钮时打开第一个片段,通过单击第二个按钮打开第二个片段,依此类推。但我只能打开活动,并且总是第一个片段打开它。对于第 n 个片段,我每次都必须滚动。
我的应用程序显示了 12 个团队的名称,当点击一个团队时,它会打开完整的小队列表。所有小队碎片(12 个碎片)都由一个活动托管。我想根据团队打开小队碎片。
代码
Intent i = new Intent(getActivity(),SquadActivity.class);
startActivity(i);
解决方案
您可以替换活动容器中的片段。在按钮上单击传递片段编号。并用它来替换片段。
点击按钮
Intent i = new Intent(getActivity(),SquadActivity.class);
i.putExtra("frag_no",Fragment_no)
startActivity(i);
内部活动 onResume()
Intent i=getIntent();
int frag_no=i.getIntExtra("frag_no",0);
Switch(frag_no)
{
case 1:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment1(), "Frag1");
break;
case 2:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment2(), "Frag2");
break;
case 3:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment3(), "Frag3");
break;
case 4:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment4(), "Frag4");
break;
case 5:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment5(), "Frag5");
break;
case 6:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment6(), "Frag6");
break;
case 7:
getSupportFragmentManager().beginTransaction().replace(R.id.container, new fragment7(), "Frag7");
break;
}
您可以根据您的要求使用不同的条件。
推荐阅读
- c - 资源分配函数可用于用户程序在 WIndows 10 内核上分配 IO 和 Internet 适配器等资源
- python - 当启用急切执行时,传递给 Optimizer.compute_gradients 的 `loss` 应该是一个函数。--> 优化器.minimize()
- excel - 在记录的代码中创建动态自动填充范围
- python - 如何进行仅包含列表中值的分组?
- javascript - 使用 React.js 上传图片以存储在 MongoDB 中
- python - matplotlib 是否将 np.int 更改为在 x 轴上自动浮动?
- python - ValueError:缓冲区 dtype 不匹配,预期为“双”,但得到 Python 对象
- android - 在 Android Studio 中尝试调试时出现意外的 JDWP 错误 35。断点请求未暂停目标 VM
- node.js - 如何使用 express mongodb 或 mongoose 用新数组覆盖我的数组
- android-studio - 单击android studio终端时出错