一、小回顾:建立碎片的步骤:
①新建相应碎片的布局文件
②新建碎片类继承自Fragment类
③在碎片类引入碎片布局文件
④在activity_main.xml添加Fragment控件
二、动态添加碎片的步骤:
1)创建待添加的碎片实例。
2)获取Fragment,在活动中可以直接通过调用getSupportFragmentManager()方法得到。
3)开启一个事务,通过调用beginTransaction()开启。
4)向容器内添加或替换碎片,一般使用replace()方法实现,需要传入容器的id和待添加的碎片实例。
5)提交事务,调用commit()方法来完成。
代码实例------以一个replaceFragment()为为例。
private void replaceFragment(Fragment fragment){
FragmentManager fragmentManager=getSupportFragmentManager();
transaction.replace(R.id.right_layout,fragment);
transaction.commit();
}
三、将碎片提交进返回栈
其操作很简单,只需在提交事务之前,加入语句。
transaction.addToBackStack(null);
四、碎片和活动之间进行通信
活动获取碎片:
实例:RightFragment rightFragment=(RightFragment) getSupportFragmentManager()
.findFragmentById(R.id.right_fragment);
碎片获取活动:
MainActivity activity =(MainActivity) getActivity();
备注 :碎片和碎片之间的通信可以以一个活动为媒介实现。
四、碎片的生命周期