文档章节

Fragment

Dougien
 Dougien
发布于 2016/01/15 17:30
字数 609
阅读 13
收藏 0

类:简介 

    碎片是可以被放在活动上的一个用户活动或行为。碎片的交互行为是通过能够引用 Activity.getFragmentManager()和Fragment.getFragmentManager()的FragmentManager来完成。

    碎片类用途很广可以实现多种效果。它的核心,它表示可以在一个较大的运行的特定操作或接口活动。一个碎片是和活动紧密相关的,并不能分开使用,1碎片虽然有自己的生命周期,但它的生命周期依赖于它的Activity(所以在gragment实现跳转时有fragment.getActivity()方法),如果Activity停止活动,则Activity里的Fragment也停止活动,Activity销毁Fragment销毁。

    碎片的所有子类必须有一个公共的无参数的构造函数。在需要的时候,这个构造函数会构造一个Fragmgent实例。如果无参函数不可用,在数据恢复(即实例话)的过程中会发生运行时异常。

生命周期

    虽然一个碎片的生命周期与它所属的Activity,但它也有自己标准的生命周期。它包括基本活动的生命周期方法如 onResum(),而最重要的是它有与活动交互和UI界面产生的方法。

交互的方法:

1    onAttach(Activity) 一旦调用则与Acticity相关联。

2    onCreate(Bundle) 碎片的初始化。

3    onCreateView(LayoutInflater,ViewGroup,Bundle)创建并返回与碎片相关连的视图层次。

4    onActivityCreated(Bundle)通知Activity自己已经完成Acrivity.onCreate()。

5    onViewsRestored(Bundle)告诉所有的视图层次的保存状态已经恢复的碎片。

6    onStart()让碎片可见。

7    onResume()使碎片开始与用户交互(依赖包含它的Activity)。

当碎片将要回收时:

1    onPause()碎片因为碎片暂停碎片正在Activity中被编辑时不再与用户交互。

2    onStop()碎片因为它的活性被暂停或片段在操作它的活动时不再可视状态。

3    onDestoryView() 允许碎片回收它的相关视图资源。

4    onDestroy()调用相关的框架做最后的清理。

5    onDetach()停止与Activity的联系。

布局

碎片可以做为程序布局的一部分,方便模块话。如 

<FrameLayout  xmlns:android = "http://schemas.android.com/apk/res/android" 
   
android:layout_width = "match_parent" android:layout_height = "match_parent" >
   
<fragment class = "com.example.android.apis.app.FragmentLayout$TitlesFragment"
           
android:id = "@+id/titles"
           
android:layout_width = "match_parent" android:layout_height = "match_parent" />
</FrameLayout>

调用fragment.xml 方法

@Override 
protected void onCreate ( Bundle savedInstanceState ) {
   
super . onCreate ( savedInstanceState );

    setContentView
( R . layout . fragment_layout );
}

还有Fragment知识没写完

© 著作权归作者所有

Dougien
粉丝 4
博文 29
码字总数 17891
作品 0
长沙
程序员
私信 提问

暂无文章

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
7
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
6
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
8
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部