SetUserVisibleHint方法和onHiddenCha

2019-11-01  本文已影响0人  静水红阳

概述

setUserVisibleHint方法和onHiddenChanged方法都是用来当fragment可见性发生判断时调用和触发的,但是二者的调用时机略有差异。

方法触发时机说明

onHiddenChanged

isHidden字段发生变化时触发,用FragmentTransaction来控制fragment的hide和show时,那么这个方法就会被调用。每当你对某个Fragment使用hide或者是show的时候,那么这个Fragment就会自动调用这个方法。

使用情况:你自己去管理Fragment,而不是用viewpager管理的时候

SetUserVisibleHint

isVisible字段触发生变化时触发,多用于ViewPager管理fragment时触发。在使用viewpager的时候,viewpager内部有个提前缓存的机制(默认是提前缓存一页),比如你在看第一个Fragment的时候,隔壁的Fragment已经创建好了,但此时的状态却是不可见的。但是这时候Fragment不会去调用上面说的onhiddenchanged方法,只会调用setUserVisibleHint这个方法。

使用情况:多用于ViewPager控制fragment显隐时触发此方法。

上一篇 下一篇

猜你喜欢

热点阅读