1、Fragment简介
1.1、什么是fragment,为什么使用Fragment
Fragment(碎片)就是小型的Activity,它是在Android3.0时出现的,可以理解为一个轻量级的activity,不需要再清单文件中注册。
因为安卓手机屏幕大小不同,有的内容在大屏手机上显示不完全。使用fragment碎片可以解决手机上的UI问题。
1.2、fragment的向下兼容
Fragment是在Android 3.0(API 11)才推出的,低版本下使用Fragment的步骤:
MainActivity extends FragmentActivity //改为继承FragmentActivity
this.getSupportFragmentManager(); // 获取管理器
import android.support.v4.app.Fragment; //导包
2、Fragment的生命周期
1、onAttach() //1、绑定到Activity上
2、onCreate() //2、fragment被创建
3、onCreateView() //3、初始化view对象,准备fragment显示的内容
4、onActivityCreated() //4、Activity被创建
5、onStart() //5、fragment用户可见
6、onResume() //6、fragment获取焦点
7、onPause() //7、fragment失去焦点
8、onStop() //8、fragment用户不可见
9、onDestroyView() // 9、fragment显示内容被销毁
10、onDestroy() //10、fragment被销毁
11、onDetach() //11、fragment取消绑定到Activity
3、Fragment和Activity之间的通信
3.1、Activity中调用Fragment
在activity中可以getFragmentManager()获取FragmentManager,然后通过FragmentManager的findViewById()获取获取布局文件中的Fragment实现通信。
3.2、Fragment中使用Activity
在fragment中可以用getActivity获取附属的activity对象,就可调用activity的方法。
4、Fragment之间的通信
使用步骤:
// 1.得到fragment的管理者
FragmentManager manager = getFragmentManager();
// 2.打开事务 事务只能打开一次,提交一次,不能重复提交
FragmentTransaction tr = manager.beginTransaction();
// 3.让指定的fragment显示到指定的容器里面去。
ShowFragment fragment = new ShowFragment();
tr.replace(R.id.container, fragment);
// 4.提交事务
tr.commit();