在向堆栈添加活动时,我可以执行以下操作: How to bring an activity to foreground (top of stack)?
但是,我有一个使用片段的导航抽屉。我通过以下代码将这些片段添加到我的后台:
FragmentTransaction transaction = activity.getFragmentManager().beginTransaction();
transaction.replace(R.id.main_fragment, new EntryFragment());
transaction.addToBackStack(activity.mTitle.toString());
transaction.commit();
问题是,我现在需要获取已经是后端堆栈一部分的片段并将其置于顶部,将当前位于其上的所有片段从堆栈中删除。基本上,FLAG_ACTIVITY_REORDER_TO_FRONT
和FLAG_ACTIVITY_CLEAR_TOP
标志在使用活动时会做什么。
如何使用片段完成此操作?
答案 0 :(得分:3)
您可以使用以下方法返回到backstack上Fragment
的实例:
activity.getFragmentManager().popBackStackImmediate(tag, 0);
请注意,在FragmentTransaction
中,您需要为提交到backstack的每个Fragment
定义一个唯一标记,并检索该标记以返回到此处的片段。