我们在使用Fragment的时候为了优化,通常采用懒加载的思想。在使用fragment时 会用到 show(),hide() 或者replace();针对于这两种处理fragment方法时的处理方法如下:
一 当我们使用FragmentManager的show hide方法来显示和隐藏fragment的时候
根据上面的描述我们不能完全依赖onHiddenChanged来判断显示隐藏要结合onpause来使用
@Override
publicvoidonHiddenChanged(booleanhidden) {
super.onHiddenChanged(hidden);
if(hidden){
//TODO now visible to user
}else{
//TODO now invisible to user
}
}
二 当我们使用FragmentManager的replace方法来替换fragment的时候
/** * 如果是与ViewPager一起使用,调用的是setUserVisibleHint
* *@paramisVisibleToUser 是否显示出来了 */
@Override
publicvoidsetUserVisibleHint(booleanisVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);}
}