美文网首页
Fragment懒加载

Fragment懒加载

作者: 天天听听 | 来源:发表于2017-09-14 19:17 被阅读0次

Fragment的resume和onPause是依赖于Activity的;不是真正的状态

应用场景:viewPager+Fragment+ListView中

viewPager缓存左右两个页面,会刷新listview数据,

直接改变当前的listview,出现错误,加载异常等问题;

实现:

public abstract class LazyFragment extends BaseFragment{

protected boolean isVisible;

// 标志位,标志已经初始化完成。

private boolean isPrepared=false;

@Override

protected void initViewsAndEvents() {

isPrepared=true;

//第一个显示的页面,会先触发懒加载,此处必须重新加载

onVisible();

}

/**

* 在这里实现Fragment数据的缓加载.

*/

@Override

public void setUserVisibleHint(boolean isVisibleToUser) {

super.setUserVisibleHint(isVisibleToUser);

if(getUserVisibleHint()) {

isVisible=true;

onVisible();

}else{

isVisible=false;

onInvisible();

}

}

protected void onVisible() {

if(isPrepared) {

LogUtil.d(this.getClass().getName() +"---lazyLoad----");

lazyLoad();

}

}

protected abstract void lazyLoad();

protected void onInvisible() {

}

}

相关文章

网友评论

      本文标题:Fragment懒加载

      本文链接:https://www.haomeiwen.com/subject/pbtjsxtx.html