博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态添加Fragment
阅读量:5073 次
发布时间:2019-06-12

本文共 1212 字,大约阅读时间需要 4 分钟。

1. 在父视图中设置 Fragment 挂载点

  (1): 静态挂载

  

  (2): 动态挂载

 

2. 创建 Fragment 实例

  (1): 新建java类,继承 android.support.v4.app.Fragment (使用支持库,可以让fragment在所有Android系统版本中保持功能一致性)

public class DemoFragment extends Fragment

  

  (2): 重写 Fragment 中的 onCreateView 方法, 加载Fragment布局文件 

@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {    /*    *参数1:布局资源id    * 参数2:挂载该视图的父视图对象    * 参数3:是否将视图挂载到父视图中,因为我们使用 FragmentManger 动态添加,所以此处为 false    * */    View view = inflater.inflate(R.layout.fragment_left, container, false);    return view;}

 

3.  获取 FragmentManager 对象

//在Activity和Fragment中,通过 getSupportFragmentManager() 方法可以获取 FragmentManager 对象FragmentManager fm = getSupportFragmentManager();

 

4.开启一个 FragmentManager 对象的事务

//通过 FragmentManager 对象的 beginTransaction() 方法,开启事务FragmentTransaction transaction = fm.beginTransaction();

 

5. 向容器中添加或替换 Fragment 实例

/** 通过 Transaction 对象的 add()或replace()方法,添加或替换 Fragment 对象。* 参数1:挂在Fragment对象的容器id* 参数2:被添加或替换的Fragment对象* */transaction.replace(R.id.right_fragment, fragment);

 

6. 提交事务

//提交事务transaction.commit();

 

 

转载于:https://www.cnblogs.com/yingtoumao/p/8615952.html

你可能感兴趣的文章
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>
Xshell5显示乱码问题
查看>>
jQuery学习之旅 Item2 选择器【二】
查看>>
移动端开发兼容性处理整理
查看>>
Jzoj5451【NOIP2017提高A组冲刺11.4】Genocide(待补充)
查看>>
input的disable和readonly
查看>>
Mysql命令行导入sql数据
查看>>
微信小程序--bind 和catch区别
查看>>
【jzoj】2018.1.31 NOIP普及组——D组模拟赛
查看>>
[Cypress] Use the Most Robust Selector for Cypress Tests
查看>>
[Unit Testing] AngularJS Unit Testing - Karma
查看>>
[Typescript] Typescript Enums vs Booleans when Handling State
查看>>