public abstract class LazyFragment extends BaseFragment {
protected boolean mVisiable=false;
protected boolean mCreated=false;
private boolean isFirst=true;
protected abstract void loadData();
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mCreated=true;
if(mCreated&&mVisiable&&isFirst){
loadData();
isFirst=false;
}
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
mVisiable=isVisibleToUser;
if(mVisiable&&mCreated&&isFirst){
loadData();
isFirst=false;
}
}
@Override
public void onDestroyView() {
isFirst=true;
mCreated=false;
mVisiable=false;
super.onDestroyView();
}
}
Last active
March 13, 2018 03:59
-
-
Save guhongya/93b6e045ef024485cfd439df8ea6a3ec to your computer and use it in GitHub Desktop.
Android fragment 懒加载
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment