package ren.solid.library.fragment.base;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
/**
* Created by _SOLID
* Date:2016/12/18
* Time:1:07
* Desc:懒加载Fragment
*/
public abstract class LazyLoadFragment extends BaseFragment {
protected boolean isViewCreated = false;
protected boolean isFirstLoad = true;
protected boolean isNeedInitView = false;
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
isViewCreated = true;
if (isNeedInitView) {
lazyLoad();
}
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && isFirstLoad) {
if (isViewCreated) {
isFirstLoad = false;
lazyLoad();
} else {
isNeedInitView = true;
}
}
}
protected abstract void lazyLoad();
}