这里主要讲fragment懒加载和fragment显现时刷新
这种如果fragment比较多或页面耗时,如果不使用懒加载滑动切换界面会出现卡顿现象,这样fragment会先显示出空页面,侧滑不会卡,然后再慢慢加载出页面内容。这样需要再页面显现出来后做加载内容调接口的操作,再fragment显现回调的方法有两种情况
1.viewpager+fragment
2.show,hide fragment
第一种:
回调的是
setUserVisibleHint(boolean isVisibleToUser)
第二种:
回调的是
onHiddenChanged(boolean hidden)
这里要分别做一下区分,还有一个问题是setUserVisibleHint回调方法再fragment创建时页面还没有加载出来也会回调,所以需要判断fragment是否已经创建完成,还有就是懒加载做一次的操作。当然也会遇到fragment点击显现就想要刷新数据的操作。
在
onActivityCreated中加
activityIsCreated = true;
if (theFragmentIsVisible && !theDelayLoad) { theDelayLoad = true; delayLoad(); }
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
theFragmentIsVisible = true;
if (activityIsCreated && !theDelayLoad) {
theDelayLoad = true;
delayLoad();//懒加载
}else if(activityIsCreated){
onVisibleRefresh();//可见刷新
} else {
theFragmentIsVisible = false;
}
}
希望对大家有帮助