有时候使用静态加载Fragment不能满足我们的需求,所以我们用到了动态加载Fragment。
一、添加
//获取Fragment管理类
FragmentManager manager = getSupportFragmentManager();
//获取Fragment事物处理类
FragmentTransaction transaction = manager.beginTransaction();
//创建Fragment对象
FirstFragment firstFragment = new FirstFragment();
//添加Fragment
transaction.add(R.id.fl_container,firstFragment);
//提交事物
transaction.commit();
二、替换
//获取Fragment管理类
FragmentManager manager = getSupportFragmentManager();
//获取Fragment事物处理类
FragmentTransaction transaction = manager.beginTransaction();
//创建新Fragment对象
NewFragment newFragment = new NewFragment();
//添加Fragment
transaction.replace(R.id.fl_container,newFragment);
//添加替换前的Fragment到回退栈,这样在替换Fragment的时候系统就不会销毁原来的Fragment
//addToBackStack()方法有一个可选的字符串参数,这个参数可以用来指定事务的唯一标示名称。这个名称不是必须的,除非你计划通过FragmentManager.BackStackEntry API执行更佳的fragment操作。
transaction.addToBackStack(null);
//提交事物
transaction.commit();