动态添加碎片

1. 创建新的碎片布局及类::
2. 在主布局中需要添加碎片的地方放置一个容器布局:

    
    
        
    

3. 在代码中替换 FrameLayout 里的内容:
AnotherRightFragment fragment = new AnotherRightFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager. beginTransaction();
transaction.replace(R.id.right_layout, fragment);
transaction.commit();
动态添加碎片主要分为 5 步:
  1. 创建待添加的碎片实例。
  2. 获取到 FragmentManager,在活动中可以直接调用 getFragmentManager() 方法得到。
  3. 开启一个事务,通过调用 beginTransaction() 方法开启。
  4. 向容器内加入碎片,一般使用 replace() 方法实现,需要传入容器的 id 和待添加的碎片实例。
  5. 提交事务,调用 commit() 方法来完成。
4. 在碎片中模拟返回栈

在事务提交之前调用了 FragmentTransaction 的 addToBackStack()方法,它可以接收一个名字用于描述返回栈的状态,一般传入null 即可。

transaction.addToBackStack(null);

这样按下 Back 键,程序不会退出,而是回到上一个碎片。

你可能感兴趣的:(动态添加碎片)