Fragment延迟加载
Posted study_zhxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fragment延迟加载相关的知识,希望对你有一定的参考价值。
/**
* Created by xz on 2017/4/10.
*/
public abstract class BaseFragment extends Fragment
/** 是否第一次显示 */
private boolean isFirstVisible = true ;
/** 是否第一次不显示 */
private boolean isFirstInVisible = true ;
/** 是否初始化 */
private boolean isPrepared = false ;
@Override
public void onCreate(@Nullable Bundle savedInstanceState)
super.onCreate(savedInstanceState);
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState)
super.onActivityCreated(savedInstanceState);
initPrepare();
@Override
public void setUserVisibleHint(boolean isVisibleToUser)
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser)//fragment可见
if(isFirstVisible) //第一次可见
isFirstVisible = false ;
initPrepare();
else //fragment可见 但不是第一次可见
onVisible();
else //fragment不见
if(isFirstInVisible) //第一次不可见
isFirstInVisible = false ;
onFirstInVisible();
else //fragment不可见 但不是第一次不可见
onInVisible();
/** 初始化 */
private void initPrepare()
if(isPrepared)
onFirstVisible();
else
isPrepared = true ;
/**
* 第一次fragment可见
*/
public abstract void onFirstVisible() ;
/**
* fragment可见(切换回来或onResume)
*/
public abstract void onVisible() ;
/**
* 第一次fragment不可见
*/
public abstract void onFirstInVisible() ;
/**
* fragment不可见(切换不可见或onPause)
*/
public abstract void onInVisible() ;
QQ交流群
微信公众号:android在路上,欢迎关注
以上是关于Fragment延迟加载的主要内容,如果未能解决你的问题,请参考以下文章