Android学习笔记(五)
- 碎片:一种可以嵌入在活动中的UI碎片
- 动态添加碎片:
- 创建待添加碎片实例
- 获取到FragmentManager,在活动中可以直接调用getFragmentManager()方法得到。
- 开启一个事物,通过beginTransaction()方法开启
- 向容器加入碎片,一般用replace()方法实现,需要传入容器的id和想添加的碎片实例。
- 提交事物,调用commit()方法来完成。
- 在碎片中模拟返回栈:在事务提交之前调用FragmentTransaction的addToBackStack()方法,他可以接收一个名字用于描述返回栈的状态,一般传入null即可。
- 碎片和活动之间进行通讯
- 通过Fragment right中FragmentById()方法,可以在活动中得到相应碎片的实例。
- 通过getActivity()方法来得到和当前碎片相关联的活动实例。
- 碎片与碎片之间通讯:县调用和当前碎片相关联的活动实例,再通过活动调用相应碎片的实例。
- 碎片的状态
- 运行状态:当一个碎片是可见的,而且它所关联的活动正处于运行状
- 态时该活动也处于运行状态。
- 暂停状态:当一个活动进入暂停状态时,与它相关联的可见碎片就进入到暂停状态。
- 停止状态:当一个活动进入停止状态时,与它相关联的碎片也会进入停止状态,或者通过调用FragmentTransaction的remove(),replace()方法将碎片从活动中移除,但在事务提交之前调用addToBackStack()方法,这时碎片也会进入停止状态。
- 销毁状态:当活动呗销毁时,与它相关联的碎片就会进入到销毁状态,或者通过调用FragmentTransaction的remove(),replace()方法将碎片从活动中移除,但在事务提交之前没有调用addToBackStack()方法,这时碎片也会进入销毁状态。
- 碎片的回调方法
- onAttach():当碎片和活动建立关联的时候调用。
- onCreateView()为碎片创建视图(加载布局)时调用。
- onActivityCreated()确保与碎片相关联的活动一定已经创建完毕的时候调用。
- onDestroyView()当与碎片关联的视图已被移除的时候调用
- 动态添加碎片: