我有一个活动,我用recyclerview实现了android TabLayout.我为TabLayout的三个选项卡实现了三个片段.
TabLayout的默认加载行为它将加载并缓存邻居选项卡,但不加载已加载的选项卡.
假设片段A,B和C分别对应于标签1,2和3.
当用户访问选项卡1 --->加载片段A和B.
当用户访问tab 2 ---> Fragment C时
但是当用户再次访问选项卡1时 - >片段A再次加载.
我想要的是当活动开始时,我希望所有三个选项卡只加载一次,然后我可以通过刷新机制(如刷卡刷新)加载选项卡.
有什么办法可以改变TabLayout的加载行为吗?
谢谢,
viewPager默认有 .setOffscreenPageLimit(1);
这样,标签的片段A,B和C分别对应于标签1,2和3.
当用户访问选项卡1时,加载了片段A和B,未加载C,因为只加载了选项卡1旁边的选项卡.
当您转到tab2时,没有重新加载选项卡,因为它们与tab2相邻.相反,如果从标签3转到标签1,则会重新加载.
所以你必须设置 viewPager.setOffscreenPageLimit(2);
这样,所有选项卡只会加载一次.
但是,如果添加更多选项卡,则必须增加此数量setOffscreenPageLimit
.