android实现ViewPager懒加载的三种方法-创新互联

在项目中ViewPager和Fragment接口框架已经是处处可见,但是在使用中,我们肯定不希望用户在当前页面时就在前后页面的数据,加入数据量很大,而用户又不愿意左右滑动浏览,那么这时候ViewPager中本来充满善意的预加载就有点令人不爽了。我们能做的就是屏蔽掉ViewPager的预加载机制。虽然ViewPager中提供的有setOffscreenPageLimit()来控制其预加载的数目,但是当设置为0后我们发现其根本没效果,这个的最小值就是1,也就是你只能最少前后各预加载一页。那么,这时候就得另觅方法了。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、陕州网站维护、网站推广。

以下三种方法是我在学习和项目中尝试过的,需求实现了,但各有千秋,可结合不同场景使用。因为打算慢慢养成写博客的习惯,就总结在此,也希望对他人有所借鉴。

方法一


在Fragment可见时请求数据。此方案仍预加载了前后的页面,但是没有请求数据,只有进入到当前Framgent时才请求数据。


优点:实现了数据的懒加载


缺点:一次仍是三个Framgment对象,不是完全意义的懒加载


public class FragmentSample extends Fragment{
  ... 
  @Override
  public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
      requestData(); // 在此请求数据
    }
  }
  ...
}

分享文章:android实现ViewPager懒加载的三种方法-创新互联
分享URL:http://myzitong.com/article/csephj.html