fragment研究
来源:互联网 发布:tk免费域名官网 编辑:程序博客网 时间:2024/06/05 07:29
1. fragment和activity一样,一个碎片(fragment)需要继承fragment,并实现里面的onCreateView()方法来返回这个Fragment的布局。
2. 3.0以下版本需要把fragment和fragmentActivity通过xml关联。
3. 3.0及以上版本使用普通的activity就行。
4.FragmentTransaction可以通过add、remove、replace方法来添加、删除、替换布局。
5. transaction通过fragmentManager获得。
6. transaction修改完布局后,需要commit。
7.如果替换或者删除一个Fragment然后让用户可以导航到上一个Fragment,你必须在调用commit()方法之前调用addToBackStack()方法添加到回退栈。如果你把这个Fragment添加到了回退栈,在提交之后这个Fragment是会被Stop而不是Destroyed。如果用户导航到这个Fragment,这个Fragment会被Restart而不是重新创建。如果你没有把它添加到回退栈,则在删除或者替换的时候它将被Destroyed。
8. 两个单独的Fragment之间是不应该进行通信的。应该使用他们所存在的Activity作为沟通的纽带。
为了实现两个Fragment的交互,您可以在Fragment中定义一个接口,然后再这个接口中定义一个方法,在Fragment的onAttach()方法中调用这个接口中的方法。然后让Activity实现这个方法来完成Activity和Fragment之间的通信。
9. FragmentManager的作用:
1>使用方法findFragmentById()或findFragmentByTag(),获取activity中已存在的fragment们。
2>使用方法popBackStack()从activity的后退栈中弹出fragment们(这可以模拟后退键引发的动作)。
3>用方法addOnBackStackChangedListerner()注册一个侦听器以监视后退栈的变化
4>使用FragmentManager打开一个FragmentTransaction来执行fragment的事务,比如添加或删除fragment。
10. Fragment要点- Fragment作为Activity界面的一部分组成出现
- 可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。
- 在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())
- Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响。
- onCreate()
当创建fragment时, 系统调用该方法.
在实现代码中,应当初始化想要在fragment中保持的必要组件, 当fragment被暂停或者停止后可以恢复. - onCreateView()
fragment第一次绘制它的用户界面的时候, 系统会调用此方法. 为了绘制fragment的UI,此方法必须返回一个View, 这个view是你的fragment布局的根view. 如果fragment不提供UI, 可以返回null. - onPause()
用户将要离开fragment时,系统调用这个方法作为第一个指示(然而它不总是意味着fragment将被销毁.) 在当前用户会话结束之前,通常应当在这里提交任何应该持久化的变化(因为用户有可能不会返回).
当创建fragment时, 系统调用该方法.
在实现代码中,应当初始化想要在fragment中保持的必要组件, 当fragment被暂停或者停止后可以恢复.
fragment第一次绘制它的用户界面的时候, 系统会调用此方法. 为了绘制fragment的UI,此方法必须返回一个View, 这个view是你的fragment布局的根view. 如果fragment不提供UI, 可以返回null.
用户将要离开fragment时,系统调用这个方法作为第一个指示(然而它不总是意味着fragment将被销毁.) 在当前用户会话结束之前,通常应当在这里提交任何应该持久化的变化(因为用户有可能不会返回).
- fragment研究
- Fragment研究【一】
- Fragment研究(转)
- Fragment研究前后
- ViewPager+Fragment研究总结
- ViewPager+Fragment收集研究
- Fragment生命周期初研究
- Fragment相关研究
- Viewpager+Fragment组合研究
- Fragment学习-----简介与生命周期研究
- 第一篇--Activity和Fragment生命周期研究
- 【Fragment研究系列】Exception: commit already called
- Fragment学习-----简介与生命周期研究
- Fragment学习-----简介与生命周期研究
- Fragment与Activity相互通信研究总结
- Fragment学习-----简介与生命周期研究
- android activity与fragment的生命周期详细研究
- 网络电台研究(3)Fragment系统学习,解决各种问题
- Hadoop组件部署笔记参考
- Notepad++ 快捷键
- Linux输入子系统:多点触控协议 -- multi-touch-protocol.txt
- 添加XMPP的模块细节
- MySQL 零碎知识点
- fragment研究
- 从网络管理员角度:win 7到底带来了什么【绿色】
- win32多线程编程
- 学习笔记12 ORA-00904 plsql无效标识符 却明明有的字段
- Hadoop 类Grep源代码注释
- js实现按钮点击60秒后重新启用(重新发送验证码)
- jquery事件机制扩展插件 jquery鼠标右键事件
- Print the numbers of form 2^i.5^j in increasing order -- Google
- cocos2d-x lua之创建剪切精灵