【发布时间】:2017-04-27 03:17:40
【问题描述】:
我有 2 个 Activity A 和 B,在 Activity A 中我管理了片段回栈,但在一种情况下如下所示: 我在 Activity 中有 4 个片段从片段 1 到 2 到 3 到 4 然后从第 4 个片段我要去 Activity B 现在我想要的是按下后退按钮 Activity 的片段 4 应该打开,然后在后面的片段 3等等。
我正在使用以下函数来替换片段并管理回栈
private void changeFragment(Fragment fragment) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
fragmentManager.beginTransaction().replace(R.id.act_home_fl_container, fragment).commit();
}
后按
boolean isPopFragment = getSupportFragmentManager().getBackStackEntryCount() > 0 ? true : false;
if (isPopFragment) {
getSupportFragmentManager().popBackStack();
}
我在这里取得了成功,但是当我从第 4 个片段转到 Activity B 并返回到 Activity A 时,我无法管理 Activity A 的片段的回栈。
我不知道如何开始。
【问题讨论】:
-
您必须为两个活动维护两个堆栈。尽管您可以在同一活动中管理片段。我建议你看看这个 github 项目。 [github.com/JetradarMobile/multibackstack] 。这些家伙做了一个非常好的实现。
-
@Rajesh 你有解决方案吗..如果有,请指导我
标签: android android-fragments back fragment-backstack