Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过活动共享片段?_Android_Android Fragments_Share - Fatal编程技术网

Android 如何通过活动共享片段?

Android 如何通过活动共享片段?,android,android-fragments,share,Android,Android Fragments,Share,我需要一种通过不同的活动共享片段的方法,例如,我有一个带有片段的MainActivity,当我转到SecondActivity时,我需要加载相同的片段,但是片段可能会有所不同,所以它不总是相同的 我猜我可以得到实际的片段id或标记并将其传递给Intent,这样我就可以在SecondActivity中检索它并使用它加载正确的片段,但我不知道如何操作。你不能。您必须为片段创建一个新实例,并再次加载其中的数据。如果您以良好的方式创建了片段,那么这是一项非常简单的任务。无法重用片段的原因如下: 如果你

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


我猜我可以得到实际的片段id或标记并将其传递给Intent,这样我就可以在SecondActivity中检索它并使用它加载正确的片段,但我不知道如何操作。

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

  • 如果你能做这样的事情,这个片段的生命周期会发生什么?从当前活动返回到其他活动如何?一切都可能搞砸
  • 每个活动都有自己的
    FragmentManager
    ,它们从不在活动之间共享,因此您不能在其他活动中请求不属于它的片段

如果您对如何在活动之间使用意图传递数据以告知片段加载内容有疑问,请查看post。

在SecondActivity中,您应该以与在MainActivity中相同的方式实例化片段。