替换 tablayout 中的片段

Replace fragment in tablayout

我有一个包含 TabLayout 和 ViewPager 的 parent 片段。 TabLayout 有 3 个选项卡(片段),由 FragmentStatePagerAdapter 管理。

用户点击 3 片段上的按钮后,我想用不同的片段替换它,而不重新加载 parent 片段。

我尝试删除片段并添加新片段并调用 notifyDataSetChanged() 片段确实被替换了,但是 TabLayout 自定义视图 headers 不见了...

知道我该怎么做吗?

谢谢。

您可以让第 3 个 Fragment 作为两个 child Fragments 的持有人,您可以根据您的应用程序的逻辑(单击您提到的按钮)进行切换。

此替代方案的关键是 ViewPager 中的第 3 个 Fragment 将是将要切换的两个 Fragments 中的 parent。

两个 child Fragments 将与 parent Fragment 通信,以便 parent 负责进行切换。

对于切换,parent 将使用 ChildFragmentManager 而不是用于 FragmentsFragmentManager,由 Activities 管理。