【发布时间】:2013-05-10 18:44:24
【问题描述】:
我有很多类MyClass的实例,它们所有必须对来自另一个类MyEventClass的某些生成事件作出反应。我该怎么做?
我的第一个想法是在MyEventClass 中定义一个侦听器并在MyClass 中实现它,但这需要MyClass 的每个实例都设置侦听器,并且除了将侦听器定义为数组MyEventClass.
很多代码/工作。
我认为的另一种选择是在MyEventClass 中使用广播,在MyClass 中使用接收器,但我不确定,可能是矫枉过正,并且接收器也将被注册(并在onStop() 上取消注册)
第三种选择是为MyClass 类定义侦听器实现,而不是为每个实例定义,这将非常适合,但我不知道这是否可能以及如何编写它.
我刚刚想到的第四个选项是在MyClass 的父类上实现监听器,并且只在MyEventClass 中设置这个监听器,然后在事件发生循环中遍历所有MyClass 实例并手动打电话给他们的听众。这样我就不用用 MyEventClass 注册每个实例了。
【问题讨论】:
标签: android events listener android-broadcast