美文网首页
fragmentUI

fragmentUI

作者: 伯纳乌大王 | 来源:发表于2018-01-15 09:52 被阅读9次

1、FragmentManager管理fragment队列

1):fragment队列

2):fragment事务回退栈

2、getSupportFragmentManager()

使用了支持库和AppCompatActivity类,所以调用这个方法。如果不考虑旧版本的兼容问题,可以再Activity里面调用getFragmentManager()。

3、fragment事务,fragment transaction()

fragment事务被用来添加、移除、附加、分离或者替换fragment队列中的fragment,FragmentManager管理者fragment事务回退栈。fragmentManager.beginTransaction()方法创建并且返回FragmentTransaction实例,FragmentTransaction类支持流街口(fluent interface)的链式方法调用。如:FragmentManager  fm  = getSupportFragmentManager();fm.beginTransaction().add(int a,fragment).commit();两个参数表示容器视图资源ID和新创建的CrimeFragment,容器资源ID的作用是:

1)、告诉FragmentManager,fragment视图应该出现在activity视图的什么位置

2)、唯一标识FragmentManaer队列中的fragment.

4、fragment中需要注意的地方

FragmentManager使用FrameLayout组件的资源ID识别CrimeFragment,使用容器视图资源ID识别UI fragment就是FragmentManager的一种内部实现机制。如果向activity添加多个fragment,通常需要分别为每个fragment创建具有不同ID的不同容器。首先,find得时候,可能获取的fragment在队列中,那就直接返回。(为什么说可能,设备旋转或者回收内存时,activity被销毁时,FragmentManager会将fragment队列保存下来,重建的时候FragmentManager获取保存的队列,重建fragment队列,恢复到原来的状态)当然没有的时候,新建一个fragment,启动一个fragment事务,然后将新建的fragment添加FragmentManager的队列当中。

相关文章

  • fragmentUI

    1、FragmentManager管理fragment队列 1):fragment队列 2):fragment事务...

网友评论

      本文标题:fragmentUI

      本文链接:https://www.haomeiwen.com/subject/uymgextx.html