把片段堆栈
问题描述:
当添加活动,以堆栈的顶部,我可以做这样的事情表明: 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
标志在使用活动时会执行哪些操作。
如何用碎片完成此操作?
答
您可以用下面的方法返回Fragment
在堆栈中的实例:
activity.getFragmentManager().popBackStackImmediate(tag, 0);
注意,在你的FragmentTransaction
您需要定义一个独特的标签为你提交到每个Fragment
堆叠并检索该标签以返回到此处的片段。