ViewPager在进行管理Fragment时 除了当前页面 会缓存左右几个页面(默认是一个),当你进行切换相邻的页面的时候,原先的页面不会销毁,Fragment生命周期还是在onResume中,所以当想要在Fragment不可见的情况下,关闭一些语音和动画,就出现了一些问题:怎样判断是否可见。。。
刚开始考虑,是不是有这样的监听器,或者在那个生命周期中。。。发现这些不可行。。。
最后发现Fragment本身有一个方法,可以判断是否可见,问题也就解决啦嘻嘻
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
// TODO Auto-generated method stub
if(!isVisibleToUser){
//不可见
}else{
//可见
}
super.setUserVisibleHint(isVisibleToUser);
}