为什么在切换片段时调用下一页的onResume循环方法?

电脑杂谈  发布时间:2020-04-08 05:14:06  来源:网络整理

vbnet调用前台js调用后台代码_java 调用失败重试2次_onresume 调用2次

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

vbnet调用前台js调用后台代码_java 调用失败重试2次_onresume 调用2次

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

vbnet调用前台js调用后台代码_onresume 调用2次_java 调用失败重试2次

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (getView() != null) {
        ... ...
    }
}

onresume 调用2次_vbnet调用前台js调用后台代码_java 调用失败重试2次

还要注意,ViewPager中第一个片段中的setUserVisibleHint(布尔)早于onActivityCreated(捆绑),onViewCreated(视图,捆绑),因此第一个(或直接创建的)片段的处理和预加载是不同的. 优化后的代码如下:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-167846-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...