一. Fragment碎片
Fragment
英文是碎片的意思,早期应用在平板设计中
实现Fragment
- 创建Fragment对象
- 定义一个类继承Fragment
- 重写父类的方法onCreateView()
- 为Fragment创建UI并在重写的方法中操作
public class Fragment_item1 extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
}
- 显示Fragment
- 静态显示Fragment —— 布局页面直接显示
- 动态显示Fragment —— 在代码中显示
Fragment生命周期
- onAttach:Fragment与Activity有联系
- onCreate:创建Fragment
- onCreateView:创建Fragment视图,尽量不要做耗时操作
- onActivityCreated:当Activity中的onCreate方法执行完后调用
- onStart:启动
- onResume:可见
- onPause:不可见
- onStop:停止。
- onDestroyView:销毁Fragment视图
- onDestroy:销毁fragment对象
- onDetach:Fragment和Activity解除关联的时候调用
Fragment的回退栈
Fragment f = new Fragment();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment,f);
// 将事务添加到回退栈
ft.addToBackStack("fragment");
ft.commit();
Fragment之间传值
-
方法一:EventBus
- 发送方:fragment2
EventBus.getDefault().post(数据);
button.
- 发送方:fragment2