1:Fragment是3.0以后嫁人的一个特性,可以解释为Activity的模块区域,有自己的生命周期,可以在Activity的运行期间添加和删除.
注意Fragment的生命周期是依赖于寄存Activity的生命周期的,但是一旦ACtivity进入到运行状态的,就可以自由的添加和删除Fragment了.因此只有当Activity在运行状态的时候,Fragment的生命周期才能独立的运转,其他的时候是依赖于Activity的生命周期而变化的
2: 管理Fragment--------------------FragmentManager
FragmentManager是用于管理Activity中的Fragment的类, 一般通过Activity的getFragmentManager()方法来获得
主要的作用是
~FragmentTransaction getTransaction():获得一个Fragment的Transaction的对象.
Transaction主要用于处理一系列的Fragment操作,如新增,删除,替换Fragment等:
主要的方法:
add();向Activity中添加一个Fragment的对象
addToBackStack(String tag):将这个Transaction的对象添加到BackStack(后退站)中
detach(Fragment fragment)将Fragment的对象从UI中分离
attach(Fragment fragment) 将被移除的Fragment 重新附加到UI上
remove(Fragment fragment) 移除一个已存在的Fragment诶
replace();替换一个被添加到容器上的Fragment
show(Fragment fragment) 显示上一个被隐藏的Fragment
hide()隐藏一个已存在的Fragment
commit();注册这个事物
3:Fragment 创建的步骤
得到一个FragmentManager的对象
FragmentManager manager = getFragmentManager();
//得到事物 FragmentTransaction beginTransaction = manager.beginTransaction();
//new出来一个Fragment的对象 FragmentA fragmentA = new FragmentA();
//把Fragment的对象添加到事物上 beginTransaction.add(R.id.rl, fragmentA); //利用bundle 进行传值 Bundle bundle = new Bundle(); bundle.putString("str", s);
//把Bundle对象绑定到Fragment的对象上并发过去 fragmentA.setArguments(bundle); //.提交事物,注意一次的事物提交之后,不能重复提交,必须重新创建一个事物,在提交 beginTransaction.commit();