2016-09-28 82 views
0

我有一个非UI持久片段来跟踪我的应用中的蓝牙设备(因此,只要用户打开手机,所有配对都不会丢失)。在多个活动中使用相同的片段实例

我现在需要从几个活动和其他片段访问这个片段中的数据。只需说它不是为每个活动创建片段的新实例的选项,它必须是所有这些实例中的同一个实例。这是允许的甚至可能的吗?碎片的onDetach函数会发生什么?

回答

1

来自Google开发者:“片段必须始终嵌入到一个活动中,并且片段的生命周期直接受到宿主活动生命周期的影响,例如,当活动暂停时,其中的所有片段也会暂停,活动被破坏,所有的碎片也都被破坏了。“

这意味着它是不可能的..

+0

那么这是一个非持久性片段的情况下,至少,但如果它的持续性应该不是FragmentManager能够找到并参考多种activites的片段?但也许一个persitent片段不是在这里使用的最佳工具,也许服务会更好。 – DaedalusAlpha

+0

看看这篇文章有帮助: http://www.i-programmer.info/programming/android/6996-fragment-and-activity-working-together.html?start=4 没有完全理解你的目标但不是一个简单的数据库选项? –

+0

蓝牙连接不能存储在数据库中,它们必须保持活动状态。不过,我认为一个片段不是一个好的选择,一个服务可能是我应该使用的,并且对于一个服务我不会遇到这个问题,因为几个活动可以同时绑定它。 – DaedalusAlpha

相关问题