网上好多都说用下面这个方式,但是这种方式只限于再viewpager时使用。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
// TODO Auto-generated method stub
super.setUserVisibleHint(isVisibleToUser);
}
如果使用了多个fragment时是用的show和hint方法呢?
虽然fragment本身也有
@Override
public void onPause() {
super.onPause();
}
@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
但是,这两个方法都是要根据当前的fragment的载体Activity的生命周期走,所以还是不能够满足上述需求。
所以正解是使用下面这个方法:
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (hidden) {
System.out.println("不可见");
} else {
System.out.println("当前可见");
}
}
————————————————
版权声明:本文为CSDN博主「背影最是伤人」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dazhang357/article/details/51131817
本文探讨了在使用多个Fragment的场景下,如何有效管理其生命周期,特别是如何判断Fragment的可见性。作者详细介绍了onHiddenChanged方法的使用,这是一种不同于常规onPause和onResume方法,能更精确地控制Fragment显示状态的方法。

4万+

被折叠的 条评论
为什么被折叠?



