Android Fragment 生命周期介绍

简介:

最近的项目中使用了Fragment,通过参考文档和网上相关文章,对Fragment的一些总结如下:

Android Fragment API兼容Android 1.6到3.0之间的版本,使用Fragment API可以很好的解决Android分辨率众多的问题,Fragment由于是Android Honeycomb的新特性,如果向下兼容必须发布相应的静态库,使其支持。而官方文档中TabActivity已被标记为deprecated,建议使用Fragment代替。

首先附上两个相关案例:

Android-ViewPagerIndicator

SeriesGuide

 

Fragment有自己的生命周期,接收自己的输入事件,你可以添加或移除从运行中的activity。 一个Fragment必须总是嵌入在一个Activity中,同时Fragment的生命周期受Activity而影响,举个例子吧,当Activity暂停,那么所有在这个Activity的Fragments将被destroy释放。然而当一个Activity在运行比如resume时,你可以单独的操控每个Fragment,比如添加或删除。

Fragment的生命周期如下图所示:

 

 

onCreate()

当创建fragment时, 系统调用此方法.

在实现代码中, 应当初始化想要在fragment中保持的必要组件, 当fragment被暂停或者停止后可以恢复.

onCreateView()

fragment第一次绘制它的用户界面的时候, 系统会调用此方法. 为了绘制fragment的UI, 此方法必须返回一个View, 这个view是你的fragment布局的根view.  如果fragment不提供UI, 可以返回null.

onPause()

用户将要离开fragment时,系统调用这个方法作为第一个指示(然而它不总是意味着fragment将被销毁.) 在当前用户会话结束之前,通常应当在这里提交任何应该持久化的变化(因为用户有可能不会返回).

大多数应用应当为每一个fragment实现至少这3个方法, 但是还有一些其他回调方法你也应当用来去处理fragment生命周期的各种阶段.全部的生命周期回调方法将会在后面章节 Handling the Fragment Lifecycle 中讨论.

 

除了继承基类 Fragment , 还有一些子类你可能会继承:

DialogFragment

显示一个浮动的对话框.

用这个类来创建一个对话框,是使用在Activity类的对话框工具方法之外的一个好的选择,

因为你可以将一个fragment对话框合并到activity管理的fragment back stack中, 允许用户返回到一个之前曾被摒弃的fragment.

ListFragment

显示一个由一个adapter(例如 SimpleCursorAdapter)管理的项目的列表, 类似于 ListActivity.

它提供一些方法来管理一个list view, 例如 onListItemClick() 回调来处理点击事件.

PreferenceFragment

显示一个 Preference对象的层次结构的列表, 类似于 PreferenceActivity.

这在为你的应用创建一个"设置"activity时有用处.

 

 

具体的使用方法请参考官方文档。



     本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/962859,如需转载请自行联系原作者




相关文章
|
4月前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
47 2
|
7月前
|
XML Android开发 数据格式
Android -- Fragment动态注册
Android -- Fragment动态注册
34 0
|
8月前
|
Android开发
Android一些特殊情况下的生命周期分析
Android一些特殊情况下的生命周期分析
46 0
|
4月前
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
342 54
|
5月前
|
Android开发 Kotlin
android开发,使用kotlin学习Fragment
android开发,使用kotlin学习Fragment
52 0
|
5月前
|
XML Java Android开发
Android Studio App开发之碎片Fragment的讲解及实战(附源码 包括静态和动态注册)
Android Studio App开发之碎片Fragment的讲解及实战(附源码 包括静态和动态注册)
54 1
|
5月前
|
Android开发
Android Studio APP开发入门之活动Activity中启停活动页面的讲解及实战(附源码,包括Activity的启动结束、生命周期、跳转等)
Android Studio APP开发入门之活动Activity中启停活动页面的讲解及实战(附源码,包括Activity的启动结束、生命周期、跳转等)
47 0
|
9月前
|
Android开发
Android ViewModel+LiveData实现Fragment间通信详解
Android ViewModel+LiveData实现Fragment间通信详解
106 0
|
9月前
|
Android开发
Android 中Activity和Fragment生命周期的具体变化详解
Android 中Activity和Fragment生命周期的具体变化详解
97 0
|
9月前
|
Android开发
Android 屏幕发生旋转对应的生命周期发生变化解析
Android 屏幕发生旋转对应的生命周期发生变化解析
130 0