我有一个带有单个Activity的应用程序,它使用菜单抽屉进行导航。每次单击菜单抽屉中的项目时,我将显示的片段替换为新的片段并将其添加到后台堆栈中。假设我有4个菜单项,A B C D E,以及它们的相应片段。如果用户打开A,它最终会在后台堆叠中,如果用户然后点击B然后A再次,则Backstack看起来像这样:A - > B - > A和片段A是可见的。
当用户现在使用后退按钮导航回来时,将显示第一个片段B.如果用户再次向后导航,他将再次看到片段A(他在看到B之前看到了片段)。在一个Activity backstack中,用户将从应用程序中退出B而不是再次返回A,因为那是他刚来的地方。
添加后,如何删除backstack中片段的所有现有backstack条目?我只希望在Backstack中最多只有一个片段。
请随意询问您是否理解我的意思。
答案 0 :(得分: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);