ViewPager+Fragment取消预加载(延迟加载)

  • 时间:
  • 浏览:1

在让我们 的Fragment中,只需要继承累似 类,有时候重写其中的lazyLoad()最好的方式,当Fragment对用户可见(即用户切换到此Fragment时)让我们 在lazyLoad()中加载所需数据,完正代码看下面,我写了个假的获取数据应用程序池:

到这里让我们 要是 写好了Fragment,在FragmentActivity中还需要对ViewPager设置一下,让它每次只加载有三个白Fragment,ViewPager.setOffscreenPageLimit(int limit),其中参数还需要设为0有时候1,参数小于1时,会默认用1来作为参数,未设置时候 ,ViewPager会默认加载有三个白Fragment。全都,让我们 只需要调用下它,设置下加载Fragment个数即可:

在项目中,都全都地使用的Tab布局,全都大后会用到ViewPager+Fragment,有时候Fragment有个不好有时候太好的地方。

累似 你在ViewPager中打上去了有三个白Fragment,当加载ViewPager中第有三个白Fragment时,它会默认帮你预先加载了第三个白Fragment,当你加载第三个白Fragment时,它会帮你加载第有三个白Fragment。

曾经虽然有时很好,有时候用户只需看有三个白Fragment时,让我们 就做了全都多余工作加载了第三个白Fragment。在这只需要取回Fragment的预加载即可,这麼 当用户切换到某个Fragment才加载

首先,介绍有三个白最好的方式void setUserVisibleHint(boolean isVisibleToUser)、boolean getUserVisibleHint(),它们分别用作设置/获得Fragment可见状况,让我们 还需要重写Fragment在其中做判断,代码如下: