博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Fragment学习笔记(一)----Fragment的生命周期和派生类
阅读量:4103 次
发布时间:2019-05-25

本文共 1461 字,大约阅读时间需要 4 分钟。

  最近有时间看看有关Fragment的一些介绍,自己做下笔记,记录下学习足迹。之前在Pad上使用QQ的时候就注意到Pad版本做的比较合理,由于pad屏幕比较大,左侧显示QQ联系人的列表,右侧可以显示具体的聊天窗口界面,觉得这样的设计不错,实现了多个fragment合并在一个单独的activity中,并建立多个UI。

    fragment的行为和用法都和activity比较相似,它也有自己的生命周期,可以响应接收到的各种事件,值得注意的是一个fragment要总是放入到一个activity中,且activity的生命周期也会影响fragment

    下面看一下fragment的生命周期官方文档给出的图:

使fragment能够呈现可见状态(能够与用户交互)的一些列核心生命周期方法有:

onAttach

    当fragment和它的activity有关联的时候被调用

onCreate

    整个系统创建fragment时调用,用来初始化fragment,相当于activity的onCreate

onCreateView

   当第一次创建用户界面的回调方法,返回与fragment相关的视图

onActivityCreated

    通知fragment它自己的activity已经完成

onViewStateRestored

    告知fragment 其视图层次的所有保存的状态都已经恢复了

onStart

    使fragment对用户可见(基于包含它的activity已经启动了)

onResume

    使fragment与用户可进行交互(基于包含它的activity已经处于resume状态)

当一个fragment不再被使用的时候,它会经过一系列的反向回调方法:

onPause

   fragment不再与用户进行交互,要么由于activity处于暂停态,要么由于在activity中一个fragment的操作正在被修改

onStop

   fragment不再与用户可见,要么因为它的activity被停止,要么因为在activity中一个fragment的操作正在被修改

onDestroyView

    允许fragment清理它的资源视图

onDestroy

    被调用去做fragment状态的最终清理

onDetach

    在fragment不再与其activity有关联之前立刻调用

在上述fragment的生命周期中,大多数程序都必须要去实现的是onCreate,onCreateview和onPause三个回调的方法

--------------------------------------------------------------------------------------------------------------------------------------------------------通常我们会继承系统内置的fragment的三个派生类:

DialogFragment

对话框式的Fragments。可以把fragmentdialog并入到activity的返回栈中,使用户能再返回到这个对话框。

ListFragment

显示一个列表控件,就像ListActivity类,它提供了很多管理列表的方法,onListItemClick和setListAdapter等

PreferenceFragment

显示一个Preference对象组成的列表,类似PreferenceActivity,主要用来创建设置界面

转载地址:http://twbsi.baihongyu.com/

你可能感兴趣的文章
漫话:为什么你下载小电影的时候进度总是卡在 99% 就不动了?
查看>>
我去!原来大神都是这样玩转「多线程与高并发」的...
查看>>
当你无聊时,可以玩玩 GitHub 上这个开源项目...
查看>>
B 站爆红的数学视频,竟是用这个 Python 开源项目做的!
查看>>
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
JS中各种数组遍历方式的性能对比
查看>>
Mysql复制表以及复制数据库
查看>>
进程管理(一)
查看>>
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
开局一张图,学一学项目管理神器Maven!
查看>>
Android中的Binder(二)
查看>>
Framework之View的工作原理(一)
查看>>
Web应用架构
查看>>
设计模式之策略模式
查看>>
深究Java中的RMI底层原理
查看>>