TabLayout ViewPager清除片段

时间:2016-09-30 22:08:14

标签: android android-fragments

我有TabLayout ViewPagerViewPager有两个标签项A和B.

当我点击标签A时,它会显示正确的视图,对于标签B也是如此。现在在标签A中,我显示了一些Fragment的A1(默认) - > A2-> A3。当我点击标签B然后返回标签A时,我仍然可以看到A3。每次点击Tab A时如何进入Fragment A1?我不确定在何处添加此逻辑(ViewPagerTabLayout.ViewPagerOnTabSelectedListener)并默认为A1 Fragment

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从A1> A2> A3这是我替换片段的方式。

只需使用所有三个片段的相同容器调用替换片段

public void replaceFragment(Fragment fragment, int container, String tag) {
    mFragmentManager = getFragmentManager();
    mFragmentTransaction = mFragmentManager.beginTransaction();
    mFragmentTransaction.replace(containerId, fragment, tag);
    mFragmentTransaction.addToBackStack(tag);
    mFragmentTransaction.commit();
}

对于后退按钮:      以这种方式删除片段

public void removeFragment() {
    mFragmentManager = getFragmentManager();
    mFragmentManager.popBackStack();
}

每当你进入B标签然后回到A时,片段A3的状态就会被破坏,希望这会有所帮助。