Fragment
详细介绍连接:http://blog.csdn.net/harvic880925/article/details/44927375
fragment是一种控制器对象,activity可委派它完成一些任务,通常这些任务就是管理用户界面,受管理的用户界面可以是一整屏或是整屏的一部分,
管理用户界面的fragment又称UI fragment 它也有自己的布局文件视图,fragment视图包含了用户可以交互的可视化的UI元素,
activity视图含有可供fragment视图插入的位置,如果有多个fragment要插入,activity视图也可以提供多个位置
fragment的生命周期方法是由托管的activity调用的而不是操作系统,
activity 托管fragment的二种方法:
1:添加fragment到activity中,优点:简单,缺点:灵活行差,此方法等同于将fragment及其视图与activity视图绑定在一起,在activity生命周期中无法切换fragment
2:在activity代码中添加fragment,缺点:复杂,优点:运行时控制fragment,可以在运行时添加移除更换fragment等等,
*fragment和activity同样具有保存以及获取状态的bundle,如同使用Activity.onSaveInstanceState(Bundle)方法一样,也可以覆盖Fragment.onSaveInstanceState(Bundle)
方法,实现旋转屏幕回复数据等,
*fragment生成视图不是像Activity一样在onCreate(...)方法中而是在onCreateView(...)中,并且是获取控件以及控件的监听事件的地方,可以在fragment的onCreate(...)方法中设置托管的Activity的标题getActivity().setTitle(...);getActivity()不仅可以返回托管的Activity,并且允许fragment处理更多的Activity相关的事务,
FragmentManager
FragmentManager类负责管理fragment并将它们的视图添加到activity的视图层级结构中,
具体管理的是:
1,fragment队列
2,fragment事务的回退栈,