【发布时间】:2014-08-26 18:15:46
【问题描述】:
我有一个关于结合 android 活动/片段/服务的事件总线设计模式的具体问题。
到目前为止我的理解: 当使用事件总线时,我可以说,为我的整个应用程序创建一个事件总线(单例设计模式)。 现在我可以让单个活动/片段/服务在事件总线上发布一个事件,事件总线将消息传播到订阅此特定事件的所有其他活动/片段/服务。这样,所有其他活动/片段/服务都可以对此特定事件做出反应。 为了让所有活动/片段/服务能够使用事件总线,他们必须在总线上注册(最好在他们的 onCreate*() 方法中),如果他们即将停止/取消/销毁,他们应该取消注册.
这让我想到了我的问题: 假设我想实现一个全新的操作栏(不是 android 或 sherlock 或任何其他,我的意思是从头开始)。 据我了解,我可以实现一个带有事件总线的操作栏。因此,我的主要活动将在活动布局顶部带有按钮,并且每个按钮都实现了自己的 onClick 方法。对于每个按钮,一旦单击关联的按钮,我就会有一个可见的片段。 现在在每个 onClick 方法(每个按钮一个)中,我可以将一个事件发布到事件总线,然后总线将其传播到片段。然后片段根据附加的事件信息检查它们是否应该可见。
现在的问题是,每个片段都需要先注册到事件总线,所以为了让这个工作每个片段的 onCreate() 方法必须至少调用一次,对吗?
感谢您对此的任何见解!
史蒂芬
【问题讨论】: