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")

通过这些函数 自由结合生命周期函数 去加载网络数据

经验分享 程序员 微信小程序 职场和发展