FragmentManager 和 FragmentTransaction 到底是做什么的?

新手上路,请多包涵

我在下面有简单的代码

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, mFeedFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

这些代码行有什么作用?

原文由 Alireza.Heidari 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 840
1 个回答
getFragmentManager()

返回 FragmentManager 以与与此活动关联的片段进行交互。

FragmentManager 用于创建用于添加、删除或替换片段的事务。

 fragmentManager.beginTransaction();

对与此 FragmentManager 关联的 Fragment 启动一系列编辑操作。

将使用的 FragmentTransaction 对象。

 fragmentTransaction.replace(R.id.fragment_container, mFeedFragment);

在布局上用 mFeedFragment 替换当前片段,id 为: R.id.fragment_container

 fragmentTransaction.addToBackStack(null);

将此事务添加到后台堆栈。这意味着事务将在提交后被记住,并在以后从堆栈中弹出时将其操作反转。

对于返回按钮的使用很有用,因此可以回滚事务。参数名称:

是此返回堆栈状态的可选名称,或 null。

有关信息,请参阅其他问题 AddToBackStack with null 参数的含义是什么?

Last 语句提交事务并执行所有命令。

有关更多帮助,请参阅 google 文档:

http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html http://developer.android.com/reference/android/app/FragmentManager.html http://developer.android。 com/reference/android/app/FragmentTransaction.html

原文由 Zelldon 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题