将片段置于堆栈顶部

时间:2015-07-21 14:58:36

标签: java android android-fragments back-stack

在向堆栈添加活动时,我可以执行以下操作: 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_FRONTFLAG_ACTIVITY_CLEAR_TOP标志在使用活动时会做什么。

如何使用片段完成此操作?

1 个答案:

答案 0 :(得分:3)

您可以使用以下方法返回到backstack上Fragment的实例:

activity.getFragmentManager().popBackStackImmediate(tag, 0);

请注意,在FragmentTransaction中,您需要为提交到backstack的每个Fragment定义一个唯一标记,并检索该标记以返回到此处的片段。