isVisible
: 是关联与
fragment
生命周期的可见性的判断
User Visible Hint
: 当
fragment
的可见性与其生命周期没有关系的时候,来进行对于可见性的判断
在使用
viewPager
进行添加若干
fragment
的时候,当
parentActivity
进行
onStart()
的时候,里面所有的
fragment
都会进行
onStart()
,即只要在
Parent
的可见状态之中,内部的所有的
fragment
的
isVisible()
都是true,所以在
viewPager
的时候,是根据当前的fragment是否被选中去判断其的显示与隐藏,而当前这个
fragment
是否被选中的标志在
ViewPager
中就是
UserVisibleHint
的值。
isVisible()
是使用
FragmentManager
进行管理,是对于当前
fragment
是否对用户“可见”的判定方式。这里的“可见”是指在
onStart()
和
onStop()
之间。
调用
FragmentManager.beginTransaction().add/remove/replace()
等相关方法,会导致
Fragment
被添加和移除,从而改变
isVisible()
的返回值
setUserVisibleHint(boolean isVisibleToUser)
是当使用
viewPager
去管理若干
fragment
的时候进行对于某
fragment
在显示跟隐藏的时候回调的方法
setUserVisibleHint()
从名字来看是给使用
Fragment
的模块来调用的,app也可以调用这个方法。
void setUserVisibleHint (boolean isVisibleToUser)