android 技术梳理

理解 FragmentTransaction

2021-01-13  本文已影响0人  jkwen

以下内容来自对官方文档的阅读理解

根据用户操作,FragmentManager 可以对 Fragment 进行添加,移除,替换等操作。而这一系列的操作都是通过 transaction 来完成的,通过 FragmentTransaction 类提供的 API 我们可以指定 transaction 里的操作。例如,将多个操作放在一个 transaction 里,(一个 transaction 可以添加或替换多个 fragments)。

通过 FragmentManager 维护的 back stack 来存储 transactions,我们就可以像 Activities 那样做返回操作了,但前提是要调用 addToBackStack() 方法,不然是不会保存的。

如何获取到 FragmentTransaction 类的实例:

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();

transaction 的最后一步必须是 commit 操作,commit() 方法告诉 FragmentManager 完成了 transaction 的所有操作,要注意的是,commit() 方法调用后,不会立即生效,而是要取决于主线程的任务安排。

FragmentTransaction 具体操作方法

总的来说,FragmentManager 想要对 fragments 进行操作,需要通过 FragmentTransaction 来完成,而 FragmentTransaction 提供的一些方法需要注意使用条件。而 FragmentManager 管理的 Back Stack 似乎是以 FragmentTransaction 为维度进行维护的。

上一篇下一篇

猜你喜欢

热点阅读