我有一个活动,我用 recyclerview 实现了 android TabLayout。我为 TabLayout 的三个选项卡实现了三个片段。
TabLayout 的默认加载行为将加载并缓存相邻选项卡,但不会加载已加载的选项卡。
假设片段 A、B 和 C 分别对应选项卡 1、2 和 3。
- 当用户访问选项卡 1 ---> 片段 A 和 B 已加载
- 当用户访问选项卡 2 ---> 片段 C 已加载
- 但是当用户再次访问选项卡 1 时 --> 片段 A 再次加载。
我想要的是当活动开始时,我希望所有三个选项卡仅加载一次,然后我可以通过刷新机制(例如滑动刷新)加载选项卡。
有什么方法可以改变 TabLayout 的加载行为吗?
Thanks,
viewPager 默认有.setOffscreenPageLimit(1);
这样,您的选项卡的片段 A、B 和 C 分别对应于选项卡 1、2 和 3。
当用户访问选项卡 1 时,会加载片段 A 和 B,但不会加载片段 C,因为仅加载与选项卡 1 相邻的选项卡。
当您转到 tab2 时,不会重新加载任何选项卡,因为它们与 tab2 相邻。相反,如果您从选项卡 3 转到选项卡 1,它将重新加载。
所以你必须设置viewPager.setOffscreenPageLimit(2);
这样所有的选项卡将只加载一次。
但如果您添加更多选项卡,则必须增加此数量setOffscreenPageLimit
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)