TabLayout:如何加载所有选项卡或仅刷卡刷新

say*_*ana 3 android android-fragments android-recyclerview android-tablayout

我有一个活动,我用recyclerview实现了android TabLayout.我为TabLayout的三个选项卡实现了三个片段.

TabLayout的默认加载行为它将加载并缓存邻居选项卡,但不加载已加载的选项卡.

假设片段A,B和C分别对应于标签1,2和3.

  • 当用户访问选项卡1 --->加载片段A和B.
  • 当用户访问tab 2 ---> Fragment C时
  • 但是当用户再次访问选项卡1时 - >片段A再次加载.

我想要的是当活动开始时,我希望所有三个选项卡只加载一次,然后我可以通过刷新机制(如刷卡刷新)加载选项卡.

有什么办法可以改变TabLayout的加载行为吗?

谢谢,

Pau*_*ora 9

viewPager默认有 .setOffscreenPageLimit(1);

这样,标签的片段A,B和C分别对应于标签1,2和3.

当用户访问选项卡1时,加载了片段A和B,未加载C,因为只加载了选项卡1旁边的选项卡.

当您转到tab2时,没有重新加载选项卡,因为它们与tab2相邻.相反,如果从标签3转到标签1,则会重新加载.

所以你必须设置 viewPager.setOffscreenPageLimit(2);

这样,所有选项卡只会加载一次.

但是,如果添加更多选项卡,则必须增加此数量setOffscreenPageLimit.