今天做项目中,发现在ViewPager中切换fragment的时候,其中两个fragment都会走onRuseme方法,,如下图:
上面的图片是viewpager的Adapter在第一个fragmentOne显示的时候打印出的日志,然后我现在的需求是哪个fragment显示在用户面前我就需要做一些操作,因为fragment是依赖于Activity,其生命周期调用的方法也基本一致,因此上面的方法无法满足应用场景的需求,
其实fragment的另外一个方法可以满足当viewpager中哪个fragment展示在用户前面就处理一些逻辑的方法,该方法是:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
MyLog.e(TAG, "isVisibleToUser------->" + isVisibleToUser);
} else {
MyLog.e(TAG, "isVisibleToUser------->" + isVisibleToUser);
}
}