一,相关概念
1,Fragment 必须防止在Activity中使用,不可以独立的存在。
2.Fragment具有自己的生命周期,但它的生命和走起业直接受所在的Activity生命和走起的影响
3.一个Activity中可以包含多个Fragments,每个Fragment都定义自己的布局,并在生命周期中 的毁掉方法中定义的动作。
3.Fragments之间是相互独立的。
4.代码复用。适用于模块开发,一个Fragment可以被多个Activity嵌套,有共通的业务模块就可以进行复用。
5.关于生命周期
二.两种设置方式
1.静态调用
在配置文件XML中描述fragment的装载关系
下面来实现一个特别简单的
(1).定义两个布局文件
(2)定义对应的java文件
(3).定义全局配置文件,进行装配
2.动态调用
在控制文件(Javaz)中描述fragment的装载关系
动态创建:
动态的界面,是activity运行的时候App能够根据屏幕的状态自动的进行添加,删除,替换组成用户界面的Fragment或者Fragment中的组件,能够自动的重新组织Fragment的布局,给用户提供一个自适应的操作显示界面。
Android系统使用FragmentManager创建FragmentTrasaction来完成Fragment事物处理。
(1)先写一个占位,其实可以看出来是没有什么内容的。
(2)写要被往里面填充的界面
(3)Java中写一个类,对内容进行填充
(4)Java中Android系统使用FragmentManager创建FragmentTrasaction来完成Fragment事物处理。
注意
fm.beginTransaction().add(R.id.listFragment,new listViewFragment()).commitNow();
其中fm开启一个事务,为了防止时序差,也就是成功了就都成功,失败了就都失败。
通过listViewFragment()把要添加的添加到R.id.listFragment,最后进行提交。也就是说开启一个事务,new一个含有添加方法的类,对R.id.listFragment的view进行添加片段的操作。
总结:也就是说相对于静态调用,我们没有直接在XML文件中指定Fragment,而是具体的通过代码来指定现在显示哪一个Fragment