1.setUserVisibleHint的使用场景:FragmentPagerAdapter+ViewPager
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// 相当于onResume()方法--获取焦点
} else {
// 相当于onpause()方法---失去焦点
}
}
2.onHiddenChanged的使用场景: 一般我们打开应用时底部会有四五个tab键,使用add()+show()来显示和隐藏Fragment,hide()跳转新的Fragment时,旧的Fragment回调onHiddenChanged(),不会回调onStop()等生命周期方法,而新的Fragment在创建时是不会回调onHiddenChanged(),所以一般会和onresume()方法配合使用。具体场景自己来判断.
@Override
public void onHiddenChanged(boolean hidden) {
if (hidden) {
//相当于Fragment的onPause()
} else {
// 相当于Fragment的onResume()
}
}
网友评论