
ViewPager具有预加载机制onresume 调用2次,左右两侧的预加载页面数始终不少于1

如果要在可见用户时加载onresume 调用2次,可以覆盖setUserVisibleHint(boolean)方法,但应注意,此函数的调用将导致您的应用程序崩溃,因为调用该函数时,它确实不保证视图全部创建后,可以参考FragmentPagerAdapter和FragmentStatePagerAdapter的源代码来了解原因. 因此,您可以参考以下代码:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getView() != null) {
... ...
}
}
还要注意,ViewPager中第一个片段中的setUserVisibleHint(布尔)早于onActivityCreated(捆绑),onViewCreated(视图,捆绑),因此第一个(或直接创建的)片段的处理和预加载是不同的. 优化后的代码如下:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-167846-1.html
这也太片面了吧
台湾如果收回