今天继续学习fragment:
onAttach()
:Fragment和Activity相关联时调用。可以通过该方法获取Activity引用,还可以通过getArguments()获取参数。onCreate()
:Fragment被创建时调用onActivityCreated()
:当Activity完成onCreate()时调用onStart()
:当Fragment可见时调用。onResume()
:当Fragment可见且可交互时调用onPause()
:当Fragment不可交互但可见时调用。onStop()
:当Fragment不可见时调用。onDestroyView()
:当Fragment的UI从视图结构中移除时调用。onDestroy()
:销毁Fragment时调用。onDetach()
:当Fragment和Activity解除关联时调用。
Fragment生命周期会经历:运行、暂停、停止、销毁。
- 运行状态:碎片可见时,关联活动处于运行状态,其也为运行状态
- 暂停状态:活动进入暂停状态,相关联可见碎片就会进入暂停状态
- 停止状态:活动进入停止状态,相关联碎片就会进入停止状态,或者通过FragmentTransaction的
remove()
、replace()
方法将碎片从从活动中移除,但如果在事务提交之前调用addToBackStack()
方法,这时的碎片也会进入到停止状态。 - 销毁状态:当活动被销毁,相关联碎片进入销毁状态。或者调用FragmentTransaction的
remove()
、replace()
方法将碎片从活动中移除,但在事务提交之前并没有调用addToBackStack()
方法,碎片也会进入到销毁状态。
在介绍Fragment的具体使用时,先介绍一下Fragment的几个核心类
Fragment
:Fragment的基类,任何创建的Fragment都需要继承该类FragmentManager
:管理和维护Fragment。他是抽象类,具体的实现类是FragmentManagerImpl。FragmentTransaction
:对Fragment的添加、删除等操作都需要通过事务方式进行。他是抽象类,具体的实现类是BackStackRecord