【发布时间】:2018-04-25 11:41:11
【问题描述】:
这是我的应用程序的流程。
产生错误的步骤。
- 打开应用,第一个屏幕会是 Fragment A1
- 从 A1 转到片段 A2
- 点击 Tab B,即 Fragment B1
- 从 B1 转到片段 B2
- 点击选项卡 A(屏幕显示 A2)
- * 点击BACK,屏幕不变。如果我点击选项卡 B,我可以看到屏幕回到 B1。
如果我在 A2 上点击 BACK,任何解决方法,我都可以返回 A1。
顺便说一句,我在 A2 和 B2 上检查 getBackStackEntryCount()。我可以看到最终的 backStackEntryCount 是 2。
下面是我的代码
从 A1 到 A2 或 B1 到 B2
ChildVC childFrag = new ChildVC();
getFragmentManager().beginTransaction().add(R.id.frameChildFragment, childFrag)
.addToBackStack(null)
.commit();
【问题讨论】:
-
您需要在 addToBackStack("childFrag") 中添加标签或 id 并使用 .replace(R.id.frameChildFragment, childFrag) 代替 .add(R.id.frameChildFragment, childFrag)
-
标签怎么处理?而且,我想添加也可以吗?因为它只是保存数据。
-
查看我处理标签的答案
标签: android android-fragments android-tablayout