【发布时间】:2018-02-25 15:17:14
【问题描述】:
我想在 3 个活动之间共享一个对象(具有多个状态),并且任何活动都可以修改对象状态,并且所有 3 个活动都应该可以访问相同的状态。 我不想使用单例对象,因为它将存在于整个应用程序中。 共享对象应该只持续到这 3 个活动存在的时间。
【问题讨论】:
-
如果您愿意,您可以将一个单点对象设置为 null,并且它不会在整个应用程序中持续存在。另一个答案是使用观察者模式或 EventBus 库来发送和接收来自其他活动或片段的信息。
-
感谢您的回答。你能告诉我观察者模式在这里有什么帮助吗?
-
EventBus 是一个使用观察者模式的库。你可以搜索 EventBus 观察者模式,你会得到很多文章或例子。您可以通过在每个活动上实现接口(侦听器回调)并通过应用程序类(名称寄存器(MyCallback 回调))将这些活动添加到侦听器列表来实现观察者模式。是的,监听器列表或观察者的应用程序不应为空。 onStart 添加(注册)要列出的活动和 onPause 删除(取消注册)活动。如果您知道观察者模式,您可能知道这是一种广泛使用的常见模式。
标签: android