在之前把ActionBar相关的知识看完之后模仿了一个例子--访微信
里面有提到tabs+viewpager+fragment这个组合
先记录一下fragment的基础知识
最后附上学习的一个非常简单的源码
动态添加Fragment
1.创建待添加的Fragment实例
2.获取FragmentManager,在Activity中直接调用getFragmentManager()方法得到
3.调用beginTransaction()方法开启一个事物
4.向FragmentLayout中加入fragment,一般使用replace()方法时间,需要传入容器的id和Fragment实例
5.用commit()方法提交事物
添加事物进入返回栈,避免back键之后推出程序
addToBackStack();
Fragment与Activity之间的通信
Activity--Fragment:调用getFragmentManager()的findViewById()方法/疯狂android当中好像是用的bundle,这个我给忘记了
Fragment--Activity:getActivity();
Fragment生命周期
运行状态: fragment可见,且所关联的activity处于运行状态时
暂停状态: 所关联的activity处于暂停状态/部分可见
停止状态: 关联的activity进入停止状态/完全不可见,有可能被系统回收
销毁状态: 关联的activity进入销毁状态
onAttach(): 当fragment和activity建立关联的时候调用
onCreateView(): 为fragment创建视图加载布局的时候调用
onActivityCreate(): 确保与关联的Activity已经创建完成的时候调用
onDestoryView(): 与fragment所关联的view被移除的时候调用
onDetach(): 当fragment与Activity解除关系的时候调用
tt |
|