Android 3.0开始以后引入Fragment最初的目的不仅是可以使布局共享,而且还可以将相应的控制代码(主要是Java代码)封装起来,这样可以实现高度的复用,而且不至于造成混乱。
Fragment的初始化方法是onCreateView,在该方法中装载Fragment使用的视图对象。
Fragment的生命周期:
值得说的是以下几个方法:
1、onInflate方法
方法原型如下:public void oninflate(Activity activity,AttributeSet attrs,Bundle savedInstanceState)
该方法会在onAttach前调用,也就是在Fragment装载之前调用。
2、onArrach方法
方法原型如下:public void onAttach(Activity activity)
从该方法开始,就可以通过Fragment.getActivity方法获取与Fragment关联的窗口对象了,但在该方法中仍然无法操作Fragment中的控件。
3、onCreateView方法
方法原型如下:public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
onCreateView方法是Fragment生命周期方法中最重要的一个,因为在该方法中会创建在Fragment中显示的View,其中inflater参数用来装载布局文件。
Fragment的创建:
两种种创建方式,XML布局文件创建Fragment,Java代码创建Fragment,(静态创建和动态创建)。初此之外,Fragment还支持没有UI的形式。
动态创建Fragment的过程涉及到两个重要的类:FragmentManger和FragmenTransaction。
FragmentManger用于管理Fragment,FragmentTransaction用于对Fragment执行具体操作。
Fragment与Activity通信:
1、Fragment可以通过getActivity()方法获取它所在的Activty。
2、Activity可以调用FragmentManger的findFragmentById()方法或findFragmentByTag()方法获取Fragment。
下面是参考源码,仅供学习使用。参考源码