替换 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
而不是用于 Fragments
的 FragmentManager
,由 Activities
管理。
我有一个包含 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
而不是用于 Fragments
的 FragmentManager
,由 Activities
管理。