第一步我们还是要先看看Fragment的生命周期,fragment 有11个生命周期,执行顺序也要知道,做了fragment的测试,如图,当fragment从无到有,变的可见的生命周期调用顺序:onAttach, onCreate,onCreateView ,onViewCreated(很多文章指这个不是生命周期), onActviityCreated,onStart, onResume
在不可见的时候调用了onPause,onStop
然后再切换回来可见 onStart onResume
当去结束掉这个fragment的时候,按顺序调用了 onPause(),onStop(),onDestroyView(),onDestory,onDetach()
这十一个生命周期方法,我们按顺序来理解它们的含义:
2.onCreate()方法 fragment 创建的时候调用
3.onCreateView()方法,fragment创建view的时候,也是我们自定义fragment 时候,重写控制视图view
4onViewCreated()方法(注意公认不是生命周期方法),在oncreateView调用完成后立即执行,koltin 的fragment 使用view的id,也要在这个方法往后调用,才不会空。
5.onActiivityCreated()方法,这是fragment的activity被创建的时候的回调。
6.onStart()方法,fragment 开始了,变的可见
7.onResume()方法,开始和用户交互
8.onPuase()方法,fragment 暂停,不可见之前要调用先暂停。
9.onStop()方法,fragment 停止了,变得不可见。
10.onDestroyView() fragment 销毁ui的时候调用。
11.onDestroy() fragment 销毁的时候调用。
12.onDettach() fragment 和context分离的时候调用。