android - 如何从返回堆栈中仅删除特定 fragment ?

标签 android fragment back-stack fragment-backstack

我正在使用 fragment 架构,我在 fragment 中设计了登录页面,我想在用户登录成功后从后台堆栈中删除唯一的登录 fragment 并打开另一个 fragment ,请帮助我。

最佳答案

试试这个,

您可以在将 fragment 添加到后台堆栈的同时为每个 fragment 添加标签,然后从后台堆栈弹出 fragment ,直到找不到带有您想要的标签的 fragment 为止。

FragmentManager fm = getFragmentManager();

    for (int i = fm.getBackStackEntryCount() - 1; i > 0; i--) {
        if (!fm.getBackStackEntryAt(i).getName().equalsIgnoreCase(tagname)) {
            fm.popBackStack();
        }
        else
        {
         break;
        }
    }

关于android - 如何从返回堆栈中仅删除特定 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091018/

相关文章:

android - 在不重新启动 Activity 的情况下更改语言

Android 历史栈——回溯不止一步

c# - 如何在 Xamarin.Forms 中检测 Stacklayout 的左滑动和右滑动?

android - 为什么我的 AlarmManager 会立即启动?

android - 边框半径和框阴影在 Android 2.3.6 中无效

android - 如何强制我的 GridView 适配器重新加载?

android - 随机 fragment 问题

android - 使用 List 查询 Realm

android - 如何从 BackStack 恢复现有的 Fragment