【问题标题】:Remove fragment from backStack从 backStack 中删除片段
【发布时间】:2020-04-18 21:49:23
【问题描述】:

我的 ViewPager 有 3 个标签。 Tab(2) 包括 2 个片段 (A) --> (B)。 Tab(3) 包含 2 个片段 (C) --> (D)。

Tab(1)
Tab(2) --> (A) --> (B) 
Tab(3) --> (C) --> (D)

在 (A) 内部创建时,检查变量“isUserLogged”(真/假)。 我的问题是:Tab(2) 被保存在 ViewPager backstack 中。 因此,当我在 (D) 中点击一个按钮时,我想删除 Tab(2),这样当它再次创建时,它会再次检查“isUserLogged”。 这就是我替换片段的方式:

FragmentTransaction trans = getChildFragmentManager().beginTransaction();
        trans.replace(R.id.hostsUlogged_container, new FragmentHostProfile(), "HostUnlogged-HostProfile");
        trans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        trans.addToBackStack("hostUnlogged_screen");
        trans.commit();

如何删除带有标签 ("hostUnlogged_screen") 的特定片段? 谢谢。

【问题讨论】:

    标签: android android-fragments android-viewpager fragment-backstack


    【解决方案1】:

    您可以通过以下标记删除特定片段:

    FragmentManager fm = getChildFragmentManager();
    Fragment fragment=fm.findFragmentByTag("hostUnlogged_screen");
    fm.beginTransaction().remove(fragment).commit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多