Android Fragment——与Activity生命周期的协调
2015-08-28 15:25
513 查看
拥有Fragment的Activity的生命周期直接影响了其中的Fragment的生命周期,这样,针对Activity的每一个生命周期的回调都会有一个类似的针对Fragment的回调。例如,当Activity收到onPause()回调时,在Activity中每个Fragment都会收到onPause()回调。
但是,Fragment有几个额外的生命周期回调方法,用来处理跟Activity的交互,以便执行诸如创建和销毁Fragment的UI的动作。这些额外的回调方法如下:
onAttach()
当Fragment已经跟Activity关联上的时候,这个回调被调用。Activity会作为onAttach()回调方法的参数来传递。
onCreateView()
创建跟Fragment关联的视图层时,调用这个回调方法。
onActivityCreated()
当Activity的onCreate()方法执行完之后,调用这个回调方法。
onDestroyView()
当跟Fragment关联的视图层正在被删除时,调用这个回调方法。
onDetach()
当从Activity中解除Fragment的关联时,调用这个回调方法。
像图3中说明的那样,Fragment的生命周期流收到持有这些Fragment的Activity的影响,在这个图中,你能看到每个连续的Activity状态决定了Fragment的那个回调方法可以被调用。例如,当Activity已经收到了onCreate()的回调之后,在Activity中的Fragment就不会再接收onActivityCreated()以上的回调了。
图3. 在Activity生命周期影响之下的Fragment生命周期
一旦Activity到达了被恢复的状态,你就可以自由的给这个Activity添加和删除Fragment了,只有Activity在恢复态时,Fragment的生命周期才能独立的改变。
但是,当Activity离开恢复态时,Fragment会再次被推进Activity的生命周期中。
但是,Fragment有几个额外的生命周期回调方法,用来处理跟Activity的交互,以便执行诸如创建和销毁Fragment的UI的动作。这些额外的回调方法如下:
onAttach()
当Fragment已经跟Activity关联上的时候,这个回调被调用。Activity会作为onAttach()回调方法的参数来传递。
onCreateView()
创建跟Fragment关联的视图层时,调用这个回调方法。
onActivityCreated()
当Activity的onCreate()方法执行完之后,调用这个回调方法。
onDestroyView()
当跟Fragment关联的视图层正在被删除时,调用这个回调方法。
onDetach()
当从Activity中解除Fragment的关联时,调用这个回调方法。
像图3中说明的那样,Fragment的生命周期流收到持有这些Fragment的Activity的影响,在这个图中,你能看到每个连续的Activity状态决定了Fragment的那个回调方法可以被调用。例如,当Activity已经收到了onCreate()的回调之后,在Activity中的Fragment就不会再接收onActivityCreated()以上的回调了。
图3. 在Activity生命周期影响之下的Fragment生命周期
一旦Activity到达了被恢复的状态,你就可以自由的给这个Activity添加和删除Fragment了,只有Activity在恢复态时,Fragment的生命周期才能独立的改变。
但是,当Activity离开恢复态时,Fragment会再次被推进Activity的生命周期中。
相关文章推荐
- 关于android 控件的单击双击以及长按的问题
- 获取bitmap的大小
- Android修改输入法Enter的文本
- Android Fragment——处理Fragment生命周期
- Android 安装错误汇总
- Android -HandleThread-给线程传参数
- android 浮动的View不会跟随ScrollView消失而消失
- android 浮动的View不会跟随ScrollView消失而消失
- Android WebView 与JS的数据交互
- Android webview与js交互
- 介绍Android中的Paint和Canvas的概念和使用方法
- 安卓-ListView侧滑删除
- 几款好用的Android Studio插件
- Android Bitmap详解,Bitmap(位图)转InputStream, InputStream转BitMap(位图)
- Android Fragment——跟Activity通信
- (Android特效)-Android-StickyNavLayout
- Android控件之左侧抽屉菜单
- android免费天气预报接口api
- android实现滑动开关
- Ant自动编译打包&发布 android项目