懒加载

来源:互联网 发布:皮影客软件免费下载 编辑:程序博客网 时间:2024/06/01 09:17
public class BaseLazyFragment extends Fragment {    private boolean isFragmentVisible;    private boolean isReuseView;    private boolean isFirstVisible;    private View rootView;    @Override    public void setUserVisibleHint(boolean isVisibleToUser) {        super.setUserVisibleHint(isVisibleToUser);        if (rootView == null) {            return;        }        if (isFirstVisible && isVisibleToUser) {            onFragmentFirstVisible();            isFirstVisible = false;        }        if (isVisibleToUser) {            onFragmentVisibleChange(true);            isFragmentVisible = true;            return;        }        if (isFragmentVisible) {            isFragmentVisible = false;            onFragmentVisibleChange(false);        }    }    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        initVariable();    }    @Override    public void onViewCreated(View view, Bundle savedInstanceState) {        if (rootView == null) {            rootView = view;            if (getUserVisibleHint()) {                if (isFirstVisible) {                    onFragmentFirstVisible();                    isFirstVisible = false;                }                onFragmentVisibleChange(true);                isFragmentVisible = true;            }        }        super.onViewCreated(isReuseView ? rootView : view, savedInstanceState);    }    @Override    public void onDestroyView() {        super.onDestroyView();    }    @Override    public void onDestroy() {        super.onDestroy();        initVariable();    }    private void initVariable() {        isFirstVisible = true;        isFragmentVisible = false;        rootView = null;        isReuseView = true;    }    protected void reuseView(boolean isReuse) {        isReuseView = isReuse;    }    protected void onFragmentVisibleChange(boolean isVisible) {    }    protected void onFragmentFirstVisible() {    }    protected boolean isFragmentVisible() {        return isFragmentVisible;    }}

原创粉丝点击