理解FragmentManager和FragmentTransaction为什么不用new来创建对象,Activity动态添加Frgment核心代码的解释

Activity动态添加Frgment核心代码的解释,利于理解并记住代码执行过程

这两个类的定义来自安卓官方文档之Fragment,不难看出这两个类是抽象的所以不能直接获取实例。(提供这两行代码用来解释接下来的核心代码)

//FragmentTransaction类定义
public abstract class FragmentTransaction

//FragmentManager类定义
public abstract class FragmentManager implements FragmentResultOwner

先来看看核心代码

//获取FragmentManager类实例,getSupportFragmentManager()此方法属于FragmentActivity类,返回FragmentManager ,以便与宿主Activity关联的片段进行交互)
FragmentManager Manager = getSupportFragmentManager();
//获取FragmentTransaction实例,beginTransaction()方法属于FragmentManager类,对此片段管理器关联的片段启动一系列编辑操作
FragmentTransaction transaction = Manager.beginTransaction();
//创建一个FragmentA类的实例
FragmentA frag=FragmentA();
//添加一个碎片FragmentA frag,到ID为content的宿主Activity容器中,
transaction.add(R.id.content, frag);
//提交事务,对每个调用的最终调用必须提交事务。调用向 发出信号,表示所有操作都已添加到事务中。
transaction.commit();

第一行核心代码:通过getSupportFragmentManager() 来获取FragmentManager实例,FragmentManager是抽象类不能直接new,上面已经给出了FragmentManager类定义的代码,FragmentTransaction也作同样解释。

解释FragmentManager 类的作用:
1)FragmentManager 类负责对应用的 Fragment 执行一些操作,如添加、移除或替换它们,以及将它们添加到返回堆栈。
2)FragmentManager管理 Fragment 返回堆栈。在运行时, 可以执行添加或移除 Fragment 等返回堆栈操作来响应用户互动。每一组更改作为一个单元(称为 FragmentTransaction)一起提交。
解释FragmentTransaction 类的作用:
1)在运行时,FragmentManager 可以添加、删除、替换片段并执行其他操作,以响应用户交互。您提交的每组片段更改都称为一个事务,您可以使用 FragmentTransaction 类提供的 API 指定在事务中执行的操作。您可以将多个操作分组到单个事务中,例如,一个事务可以添加或替换多个片段。当您在同一屏幕上显示多个同级片段(例如拆分视图)时,此分组非常有用。

参考---------安卓官方文档
在写文章时总是想把自己认识到的都说出来,只怪自己文采不好,还请各位见谅,我会继续加油的,让初学者可以初步认识Fragment。(差点把自己写懵,以致于写到此)
**

请求各位初学者安心食用!!! 大神提提意见,指出不足,谢谢啦!欢迎评论区讨论,我也想向各位学习学习!!!

**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢下雨t

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值