安卓侧滑菜单的返回栈

3
我有一个应用程序,只有一个活动(Activity),使用菜单抽屉进行导航。每次单击菜单抽屉中的项目时,我都会替换显示的片段(fragment)并将其添加到后退栈中。 假设我有A B C D E四个菜单项,对应它们各自的片段。如果用户打开A,则进入了后退栈,如果用户接着点击B然后再次点击A,则后退栈如下:A -> B -> A,并且片段A可见。
当用户现在使用返回按钮导航回来时,首先会显示片段B。 如果用户再次导航回去,他将再次看到片段A(他刚刚在看到片段B之前已经看到了片段A)。 在活动后退栈中,用户会从B跳出应用程序,而不会再次回到A,因为那是他刚刚来自的地方。
当添加片段时,如何删除后退栈中片段的所有现有条目? 我只想在后退栈中每个片段最多只有一个条目。
如果您不明白我的意思,请随时问我。

1
你好,你解决了吗?我现在也面临同样的问题 :( - Kaidul
我最终只能手动完成所有操作,始终自己跟踪堆栈。 - AlexanderNajafi
1个回答

0

示例代码:

        Fragment newFragment;
        FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
        newFragment = new MyFragment();
        transaction.replace(R.id.content_frame, newFragment);
        transaction.addToBackStack(null);
        transaction.commit();

如果您在代码中提到了以下行,请将其删除:

-

            transaction.addToBackStack(null);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接