ViewPager+Fragment懒加载
如何实现viewpager中的懒加载呢? 如果使用 mViewPager.setOffscreenPageLimit(1);
则达不到我们想要的懒加载效果这样预加载也会出现
这里有两种方式进行实现懒加载效果一种就是复制我们的viewpager中的源代码将private static final int DEFAULT_OFFSCREEN_PAGES = 1;
改成private static final int DEFAULT_OFFSCREEN_PAGES = 0;
当然这种效果不是很好这样的话viewpager中的方法调用起来会很麻烦然而我们的fragment里面提供的有一个setUserVisibleHint
这个方法是很好用的比我们修改源代码要爽的一批。
接下来就要讲讲setUserVisibleHint
的使用了直接上代码了
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser){
Log.i("fragment","懒加载");
//懒加载需要处理的逻辑
}else{
//预加载需要处理的逻辑
}
}
怎么样 是不是很简单 如果处理逻辑比较多我们可以使用代码块的方式进行实现这样可以提供代码的简洁性。 viewpager懒加载到这里了 溜了溜了,