如何通过活动分享碎片?

How to share fragments through activities?

我需要一种通过不同活动共享 Fragment 的方法,例如,我有 MainActivity 和 Fragment,当我转到 SecondActivity 时,我需要加载相同的 Fragment,但 Fragment 可能会有所不同,因此它不会总是同一个。

我猜想我可以获得实际的 Fragments id 或标签并将其传递给 Intent,这样我就可以在 SecondActivity 上检索它并使用它来加载正确的 Fragment,但我不知道如何做。

你不能。您必须为片段创建一个新实例并再次加载其中的数据。如果您以良好的方式创建片段,那将是一项非常简单的任务。无法重复使用该片段的原因如下:

  • 如果你能做类似的事情,这个片段的生命周期会发生什么变化?从当前 activity 返回到另一个怎么样?什么都可以搞砸。
  • 每个 activity 都有自己的 FragmentManager 并且它们从不在活动之间共享,因此您不能在另一个 activity 中询问不属于它的片段.

如果您对如何使用 intents 在活动之间传递数据来告诉片段要加载什么有疑问,请查看 this post.