事件总线 - 创建多个事件
Event Bus - Create Multiple Events
如何使用事件总线创建多个事件?
所以在这个例子中,我试图接收多个事件。但是当调用 addEvent3WhenLogicOccers()
时,addEvent1WhenLogicOccers()
的值会因为事件总线 post 中的 new EventBusEvents()
而消失。我想同时接收 EVENT_1
和 EVENT_3
,它们的数据是 my_event_child_1
和 my_event_child_3
。我该怎么做?
String EVENT_1 = "my_event_child_1";
String EVENT_2 = "my_event_child_2";
String EVENT_3 = "my_event_child_3";
addEvent1WhenLogicOccers() {
EventBus.getDefault().postSticky(new EventBusEvents(EVENT_1));
}
addEvent3WhenLogicOccers() {
EventBus.getDefault().postSticky(new EventBusEvents(EVENT_3));
}
@Subscribe(sticky = true)
public void onEvent(EventBusEvents eventBusEvents) {
switch(eventBusEvents.eventChilds) {
case EVENT_1:
// on event 1 code
break;
case EVENT_2:
// on event 2 code
break;
case EVENT_3:
// on event 3 code
break;
}
}
我发现 EventBus
对我来说不是最佳解决方案。我改用接口
如何使用事件总线创建多个事件?
所以在这个例子中,我试图接收多个事件。但是当调用 addEvent3WhenLogicOccers()
时,addEvent1WhenLogicOccers()
的值会因为事件总线 post 中的 new EventBusEvents()
而消失。我想同时接收 EVENT_1
和 EVENT_3
,它们的数据是 my_event_child_1
和 my_event_child_3
。我该怎么做?
String EVENT_1 = "my_event_child_1";
String EVENT_2 = "my_event_child_2";
String EVENT_3 = "my_event_child_3";
addEvent1WhenLogicOccers() {
EventBus.getDefault().postSticky(new EventBusEvents(EVENT_1));
}
addEvent3WhenLogicOccers() {
EventBus.getDefault().postSticky(new EventBusEvents(EVENT_3));
}
@Subscribe(sticky = true)
public void onEvent(EventBusEvents eventBusEvents) {
switch(eventBusEvents.eventChilds) {
case EVENT_1:
// on event 1 code
break;
case EVENT_2:
// on event 2 code
break;
case EVENT_3:
// on event 3 code
break;
}
}
我发现 EventBus
对我来说不是最佳解决方案。我改用接口