ViewPager+Fragment组合时,常常会用到在Fragment里获得当前Fragment被选中的状态,然后在每当Fragment选中时下做一些动画,数据初始化的操作。网上很多解决方式是使用Fragment里面的
setUserVisibleHint(boolean isVisibleToUser)
{
if(isVisibleToUser)
{
//当页面被选中
}
}
可实践证明这个回调方法会在Fragement的creatView()方法之前调用这就意味着,如果在setUserVisibleHint(boolean isVisibleToUser)做一些更新UI的操作是行不通的(特别是第一次Frament初始化的时候)。
现在我采用另外以一种方式解决这个问题。我们知道,ViewPager上可以设置OnPageChangeListener(如下)里面有三个回调方法,其中一个就是
ViewPager.OnPageChangeListener pageChangeListener =
new ViewPager.OnPageChangeListener() {
@Override
public