java - 将 Fragment 置于堆栈顶部

标签 java android android-fragments back-stack

将 Activity 添加到堆栈时,我可以执行如下所示的操作: How to bring an activity to foreground (top of stack)?

但是,我有一个使用 fragment 的抽屉导航。我通过以下代码将这些 fragment 添加到我的返回堆栈中:

FragmentTransaction transaction = activity.getFragmentManager().beginTransaction();
                transaction.replace(R.id.main_fragment, new EntryFragment());
                transaction.addToBackStack(activity.mTitle.toString());
                transaction.commit();

问题是,我现在需要获取一个已经属于返回堆栈一部分的 fragment ,并将其带到顶部,将当前位于其上方的所有 fragment 从堆栈中删除。本质上是 FLAG_ACTIVITY_REORDER_TO_FRONTFLAG_ACTIVITY_CLEAR_TOP 标志在使用 Activity 时执行的操作。

如何使用 fragment 来实现此目的?

最佳答案

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

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

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

关于java - 将 Fragment 置于堆栈顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542675/

相关文章:

java - ora-12519,找不到合适的服务处理程序

java - 为什么我不能在 AppCompatActivity 的函数外部使用 create 方法

Java:另一个多线程执行器中的单线程子执行器

android - 无法为我的 webview 解析方法 'findViewById(int)'

android - 为什么后台堆栈中的零 fragment

java - AnimationDrawable 在 fragment 中不起作用。

来自异步线程的 Java 同步数据库管理器

android - 如果筛选 ListView 不再包含任何结果,如何显示特殊消息?

android - 如何将渲染器注入(inject)到 SimpleExoPlayer

java - 无法更改嵌套 fragment 中的 ActionBar 标题