一:代码
1.最底部添加:
//===============================禁止预加载=============================start
/**
* 视图是否已经对用户可见,系统的方法
*/
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
isCanLoadData();
}
/**
* 视图销毁的时候讲Fragment是否初始化的状态变为false
* onDestroyView中进行解绑操作
*/
@Override
public void onDestroyView() {
super.onDestroyView();
isInit = false;
isLoad = false;
unbinder.unbind();
}
/**
* 是否可以加载数据
* 可以加载数据的条件:
* 1.视图已经初始化
* 2.视图对用户可见
*/
protected boolean isInit = false;
protected boolean isLoad = false;
private void isCanLoadData() {
if (!isInit) {
return;
}
LogUitl.e("=getUserVisibleHint===================" + getUserVisibleHint());
if (getUserVisibleHint()) {
loadDatas();
isLoad = true;
}
}
//===============================禁止预加载=============================start
2.初始化控件之后添加:
isInit=true;
isCanLoadData();
二:原因:即使设置Limit=0;最后经过方法还是=1(默认值)。想要禁止预加载,需要自己判断
vp.setOffscreenPageLimit(0);
private static final int DEFAULT_OFFSCREEN_PAGES = 1;
三:自己做笔记,方便以后自己复习。查考来源:https://blog.csdn.net/linglongxin24/article/details/53205878
谢谢该博主 ~^*^~