android fragment
来源:互联网 发布:入职程序员感觉干不了 编辑:程序博客网 时间:2024/04/27 20:13
Fragment要点
- Fragment作为Activity界面的一部分组成出现
- 可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。
- 在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())
- Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响。
设计哲学
创建Fragment
- onCreate()
当创建fragment时,系统调用该方法.
在实现代码中,应当初始化想要在fragment中保持的必要组件,当fragment被暂停或者停止后可以恢复. - onCreateView()
fragment第一次绘制它的用户界面的时候,系统会调用此方法. 为了绘制fragment的UI,此方法必须返回一个View, 这个view是你的fragment布局的根view.如果fragment不提供UI, 可以返回null. - onPause()
用户将要离开fragment时,系统调用这个方法作为第一个指示(然而它不总是意味着fragment将被销毁.)在当前用户会话结束之前,通常应当在这里提交任何应该持久化的变化(因为用户有可能不会返回).
其生命周期图如下:
- DialogFragment
显示一个浮动的对话框.
用这个类来创建一个对话框,是使用在Activity类的对话框工具方法之外的一个好的选择,
因为你可以将一个fragment对话框合并到activity管理的fragment backstack中,允许用户返回到一个之前曾被摒弃的fragment. - ListFragment
显示一个由一个adapter(例如SimpleCursorAdapter)管理的项目的列表, 类似于ListActivity.
它提供一些方法来管理一个list view, 例如 onListItemClick()回调来处理点击事件. - PreferenceFragment
显示一个 Preference对象的层次结构的列表,类似于PreferenceActivity.
这在为你的应用创建一个"设置"activity时有用处.
添加一个用户界面
- public
static class ExampleFragment extendsFragment { -
@Override -
public View onCreateView(LayoutInflater inflater, ViewGroup container, -
Bundle savedInstanceState) { -
// Inflate the layout for this fragment -
return inflater.inflate(R.layout.example_fragment, false);container, -
} - }
inflate() 方法有3个参数:
- 想要加载的layout的resourceID.
- 加载的layout的父ViewGroup.
传入container是很重要的, 目的是为了让系统接受所要加载的layout的根view的layout参数,
由它将挂靠的父view指定. - 布尔值指示在加载期间,展开的layout是否应当附着到ViewGroup (第二个参数).
(在这个例子中, 指定了false, 因为系统已经把展开的layout插入到container–传入true会在最后的layout中创建一个多余的view group.)
将fragment添加到activity
在activity的layout文件中声明fragment
- android fragment
- android fragment
- (转)Android Fragment
- android fragment执行流程
- Android Fragment完全解析,…
- Android Fragment的使用(1) [转]
- FragmentTabHost 与 Fragment 学习
- Android activity跳转到另一个activity的指定fragment页面
- Android Fragment---创建Fragment
- Android Fragment---管理Fragment
- Android Fragment---创建Fragment
- Android Fragment---管理Fragment
- android 四舍五入
- android o…
- android …
- android scoket
- Android - LayoutInflater
- Android - LayoutInflater
- sqlserver2008安装遇到的问题
- JS刷新父窗口的几种方式
- 【android】scaleType属性与ImagVi…
- adb无线网络调试
- nginx配置ThinkPHP Rewrite
- android fragment
- jquery radio取值,checkbox…
- 优秀Android开发博客和网站大全
- ThinkPHP简单增删改查
- android添加常驻图标到状态栏
- js之html encode,decode
- 在android工程中导入layoutlib.jar…
- js中实现加密
- 字符串函数对比大全