从 backStack 中移除片段

Remove fragment from backStack

我的 ViewPager 有 3 个选项卡。 Tab(2) 包括 2 个片段 (A) --> (B)。 Tab(3) 包括 2 个片段 (C) --> (D).

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

创建时在 (A) 内部,正在检查变量 "isUserLogged" (true/false)。 我的问题是: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") 的特定片段? 谢谢。

您可以通过标签删除特定片段,如下所示:

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