1、Fragment,碎片,3.0之后推出,最小的sdk为11
是Acitvity的一部分,必须结合使用
一个Activity可以有多个Fragment
一个Fragment可以被多个Activity使用
2、Fragment的使用
创建子类,继承Fragment,重写生命周期方法(onCreateView),向Fragment中添加UI控件
3、Activity引用Fragment
a:静态方式:布局文件中引入
在Activity的布局文件中,使用fragment标签,使用class和android:name属性引入fragment,值为全类名
//注意:id一定要有,虽然没有用到,否则会报错
b:动态方法:使用代码引入
b.1:在Activity布局文件中,使用LinearLayout或FrameLayout等布局给Fragment占位置
创建Fragment子类,在Fragment子类中通过inflater创建视图,
b.2: 先创建FragmentManager:getFragmentManager()
再开启事务:manager.beginTransaction()
操作Fragment:add,remove,replace
提交事务,transaction.commit()
4、传值
a:Arguments
在Fragment对象显示之前,使用setArgument从Activity给Fragment传值,只适用于动态的添加Fragment
传值方向:Activity--》Fragment
实现步骤:
在Activity中使用Fragment的对象调用setArguments动态的给Fragment传值
在Fragment中使用getArguments方法获得值
b:application
代表android的一个应用程序,此类是单例的,表示当前的应用程序对象
实现步骤:
1)、创建Application的子类,使用子类对象封装数据
2)、修改清单文件中的Application标签,改成自定义子类
android:name="全类名"
3)、可以在应用程序 的任何位置获得Application子类的对象
4)、可以使用该对象设置或获得值
注意:每次提交事务都要重新开启事务(一个commit对应着一个beginTransaction)