Fragment部分复习总结

1. Fragment的生命周期、基本定义以及使用、Fragment、FragmentManager、FragmentTransaction

2. Fragment的生命周期:11个生命周期函数
    onAttach
    onOnCreate
    onCreateView
    onActivityCreated
    onStart
    onResume
    onPause
    onStop
    onDestoryView
    onDestory
    onDetach

3. 基本定义的流程
    a. 定义一个布局文件,将Fragment所需的视图定义完成
    b. 定义Fragment类
        定义一个类来继承自Fragment
        需要按照具体的需求来复写生命周期函数,其中onCreateView必须复写
            在此方法中完成UI的转换成View对象view,并返回该对象
            如果需要属于Fragment中的控件或者子视图,也需要在此方法
            中去初始化,需要监听也可以一并在此方法中完成

4. Fragment的使用方式
    a. 在xml文件中静态引用,不可以在代码中进行移除或者替换操作,使用的标签<fragment  />
        需要指定android:name="包名.类名"
    b. 在代码中动态操作,需要使用到FragmentTransaction的对象,最常用的操作
        添加、替换、移除、隐藏、显示、加入back栈

5. FragmentManager的作用
    主要是用来管理Fragment的,通过id或者tag寻找Fragment对象
        findFragmentById
        findFragmentByTag
        popBackStack从back栈中弹出Fragment对象等
    获取的方式:
        a. android.app包下的Fragment:通过Activity的方法getFragmentManager去获取FragmentManager对象
        b. android.suport.v4.view包下的Fragment:通过FragmentActivity的getSupportFragmentManager来获取

6. FragmentTransaction的作用
    主要用来操作Fragment的,常见操作
        添加add、替换replace、移除remove、隐藏hide、显示show、加入back栈addToBackStack
        提交事务commit
    获取方式:通过FragmentManager的beginTransaction方法来开启事务
    注意:    事务的操作必须通过commit方法来提交生效
        开启一次事务,该事务的生命周期就开始了;提交了该事务后,事务的生命周期就结束了
        所以事务提交以后,下一次要使用需要重新开启一个事务

7. Activity和Fragment之间的传值问题
    a. Fragment中提供一个解决方案:
        通过参数进行传递
            在Activity去设置值:setArgments(Bundle b)
            在Fragment中去取值:Bundle b = getArgments();
    b. 通过公共的变量:
        比如在Application中定义一个全局的变量
        在Activity中去进行赋值
        在Fragment里引用
    c. 在Fragment中取上下文参数的方法getActivity

 

posted on 2015-09-28 09:54  敬的男人  阅读(72)  评论(0)    收藏  举报