fragment setUserVisibleHint和onHiddenChanged调用场景
setUserVisibleHint是在所有生命周期方法之前调用
使用场景--->
通过fragment结合viewpager方式时
override fun setUserVisibleHint(isVisibleToUser: Boolean) { super.setUserVisibleHint(isVisibleToUser) if (isVisibleToUser){//可见
} else{//不可见
} Log.e("setUserVisibleHint","${TAG}====${userVisibleHint}") }
onHiddenChanged
通过add()、 show()方法添加显示的 切换tab时不能会执行fragment的生命周期函数
override fun onHiddenChanged(hidden: Boolean) { super.onHiddenChanged(hidden) if (hidden){//true 隐藏、不可见
} else{//可见
} Log.e(TAG,"----hidden$hidden") }
注:首次进入应用不会执行该函数
第一次进入应用在该fragment中打开一个activity 然后返回,不会执行该函数 可以通过
override fun onResume() { super.onResume()
判断userVisibleHint==true时表示可见 Log.e(TAG,"onresume==$userVisibleHint")
通过这些函数 自由结合生命周期函数 去加载网络数据