这是一个所有需要实现懒加载的Fragment的父类,继承BaseLazyLoadFragment并在子类中实现lazyLoad()抽象方法,在该方法中实现你需要延迟加载的操作~
public abstract class BaseLazyLoadFragment extends Fragment {
protected boolean isVisible;
protected boolean isPrepared;
/**
* 在这里实现Fragment数据的缓加载.
* @param isVisibleToUser
*/
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(getUserVisibleHint()) {
isVisible = true;
onVisible();
} else {
isVisible = false;
onInvisible();
}
}
protected void onVisible(){
lazyLoad();
}
protected abstract void lazyLoad();
protected void onInvisible(){}
}
网友评论