如何通过活动分享碎片?
How to share fragments through activities?
我需要一种通过不同活动共享 Fragment 的方法,例如,我有 MainActivity 和 Fragment,当我转到 SecondActivity 时,我需要加载相同的 Fragment,但 Fragment 可能会有所不同,因此它不会总是同一个。
我猜想我可以获得实际的 Fragments id 或标签并将其传递给 Intent,这样我就可以在 SecondActivity 上检索它并使用它来加载正确的 Fragment,但我不知道如何做。
你不能。您必须为片段创建一个新实例并再次加载其中的数据。如果您以良好的方式创建片段,那将是一项非常简单的任务。无法重复使用该片段的原因如下:
- 如果你能做类似的事情,这个片段的生命周期会发生什么变化?从当前 activity 返回到另一个怎么样?什么都可以搞砸。
- 每个 activity 都有自己的
FragmentManager
并且它们从不在活动之间共享,因此您不能在另一个 activity 中询问不属于它的片段.
如果您对如何使用 intents 在活动之间传递数据来告诉片段要加载什么有疑问,请查看 this post.
我需要一种通过不同活动共享 Fragment 的方法,例如,我有 MainActivity 和 Fragment,当我转到 SecondActivity 时,我需要加载相同的 Fragment,但 Fragment 可能会有所不同,因此它不会总是同一个。
我猜想我可以获得实际的 Fragments id 或标签并将其传递给 Intent,这样我就可以在 SecondActivity 上检索它并使用它来加载正确的 Fragment,但我不知道如何做。
你不能。您必须为片段创建一个新实例并再次加载其中的数据。如果您以良好的方式创建片段,那将是一项非常简单的任务。无法重复使用该片段的原因如下:
- 如果你能做类似的事情,这个片段的生命周期会发生什么变化?从当前 activity 返回到另一个怎么样?什么都可以搞砸。
- 每个 activity 都有自己的
FragmentManager
并且它们从不在活动之间共享,因此您不能在另一个 activity 中询问不属于它的片段.
如果您对如何使用 intents 在活动之间传递数据来告诉片段要加载什么有疑问,请查看 this post.