Frangment-学习总结

Fragment常用三个类:

Fragment:定义Fragment本身。
FragmentManager:管理Activity中的Fragment
FragmentTrasaction:对Fragment进行各种具体操作,而且其操作具有原子性。操作完成必须调用commit()方法,统一执行。

Fragment的使用有两种方式:

1.直接在Activity的layout里设置<Fragment>标签,这种属于静态使用,Fragment和其他控件无异;
2.利用代码,在Activity里动态加载Fragment,这种方法可以降低Fragment和activity的耦合度,提高程序的灵活性,同时,Fragment还可以被多个Activity复用。

Fragment动态加载的方法

  • 重写Fragment类,实现自己的Fragment。可以重写Fragment类的OnCreateView()方法来实现自己Fragment的布局。

  • 获得FragmentManager对象:FragmentManager fm = getFragmentManager();

  • 获得FragmentManagerTrasaction对象: FragmentManagerTrasaction ft =
    fm.beginTrasaction();

FragmentManagerTrasaction有如下几个比较重要的操作:
add():添加一个Fragment;
remove():移除一个Fragment;(如果被移除的Fragment没有被加载进回退栈,则会被销毁)
replace():先移除当前,然后用另一个替换。
hide();隐藏Fragment,使被隐藏的Fragment不可见,但是不销毁。
show():显示隐藏的Fragment .
detach():把Fragment与Activity解除联系,但Fragment的实例还在,由FragmentManager维护。
Attach():重建Fragment的view视图,附加到UI上并显示。

以上操作可以随意组合,等操作语句写完,调用commit()函数提交,使这一系列操作得以连续执行,保证其原子性。

Fragment回退栈:`有点类似于activity的Task栈,Activity会为Fragment维护一个回退栈,可以调用FragmentTrasaction.addToBackStack(String);来把Fragment加入回退栈,这样在点击系统的回退按钮时,Fragment可以依次实现回退的功能。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-08-18 17:37  SongGe  阅读(349)  评论(0编辑  收藏  举报