首页 > 代码库 > Fragment-1-介绍

Fragment-1-介绍

参考博客

http://blog.csdn.net/lilu_leo/article/details/7671533 : 官方文档翻译
http://blog.csdn.net/yangyu20121224/article/details/8995025 

简介

fragment: 碎片,  用于多屏显示 可以把activity里面的逻辑进行分离.

Fragment是activity的界面中的一部分或一种行为可以多个Fragment组合到一个activity中来创建一个界面.

并且可以在多个activity中重用一个Fragment可以把Fragment任务模块化的一段activity,它具有自己的生命周期

接收它自己的事件,并可以在activity运行时被添加或删除

       Fragment不能独立存在,它必须嵌入到activity中而且Fragment的生命周期直接受所在的activity的影响

如:当activity暂停时,他拥有的所有的Fragment都暂停了,当activity销毁时,他拥有的所有Fragment都被销毁。然

而,当activity运行时(在onResume()之后,onPause()之前),可以单独地操作每个Fragment,比如添加或删除它

们。当中执行上述针对Fragment的事务时,可以将事务添加到一个栈中,这个栈被activity管理,栈中的每一条都是一

个Fragment的一次事务。有了这个栈,就可以反向执行Fragment的事务,这样就可以在Fragment级支持“返回”键

(向后导航)。

        当向activity中添加一个Fragment时,它须置于ViewGroup控件中并且需定义Fragment自己的界面可以在

layout.xml布局文件中声明Fragment,元素为:<fragment>;也可以在代码中创建Fragment,然后把它加入到

ViewGroup控件中。然而,Fragment不一定非要放在activity的界面中,它可以隐藏在后台为activity工作

fragment生命周期

下图为fragment的生命周期(它所在的activity处于运行状态)

注意一点: onCreateView方法执行时, 要求返回一个view, 如果返回为空, 报错.
即是说, fragment上面必须有view才能被显示。

 
fragment与activity的生命周期密切相关:

 

Fragment的派生类

DialogFragment

    显示一个浮动的对话框。使用这个类创建对话框是替代activity创建对话框的最佳选择。因为可以把fragmentdialog

放入到activity的返回栈中,使用户能再返回到这个对话框


ListFragment

    显示一个列表控件,就像ListActivity类,它提供了很多管理列表的方法,比如onListItemClick()方法响应click事件。


PreferenceFragment

    显示一个由Preference对象组成的列表,与PreferenceActivity相同。它用于为程序创建“设置”activity。


Fragment的使用方式

两种:
1. 在activity的布局文件中配置<fragment>标签, 然后写个类继承Fragment, 再写其对应的布局文件
    这种方法其实相当于把fragment布局文件中的东西include到activity中.
2. 在Activity中使用FragmentManager动态添加, 删除, 替换. 
    本质上也还是吧fragment中的东西include到activity中, fragment中的东西, activity中都可以用.

?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


来自为知笔记(Wiz)