使用Fragment的时候难免会遇到想在视图可见与不可见之中做些操作,此时通常会想到类似Activity中的onResume()和onPause()方法。
Fragment中也确实有这两个方法,然而亲测support.v4.Fragment中的这两个方法其实是执行的Activity的方法,也就是只有在Activity的可视性发生变化时才会调用。
又从网上找到类似的方法,setUserVisibleHint(), 但是事实证明改方法也不见得就能满足需求,这种方式只限于再viewpager时使用,在Fragment中重写该方法系统并不会调用改方法,必须手动调用才会执行。如果在提交新创建的Fragment后调用该方法,它是在Fragment的onCreateView()方法之前先执行。
而Fragment中的onHiddenChanged()方法可以实现类似onResume()这样的功能.但要主要的是第一次新建fragment时不会调用,只有在新建之后可见或者不可见了才会调用。