OnEvent 使用 EventBus 投射不正确的事件 Object

OnEvent cast incorrect event Object using EventBus

我在 Activity (BaseActivity)Fragment (BaseFragment) 上都注册了 EventBus。所以,我用以下方法捕捉事件: 在 BaseActivityBaseFragment 我有相同的代码:

public void onEvent(Object object) {
    // do nothing
}

BaseFragment 的 child fragment (A) extended 中,我有一个事件 XYZEvent,我希望调用此方法:

public void onEvent(XYZEvent event) {
    // my logic, not called :(
}

但事实并非如此。我已经调试过了,BaseActivityBaseFragment中的onEvent都被调用了。 所以,我改变了我的 fragment (A) 如下:

public void onEvent(Object event) {
   if(event instanceof XYZEvent) {
       // my logic
       // after changed this block code is called (~_~), why???
   }
}

它叫。 所以,我想知道当 onEvent(XYZEvent event) 没有被解雇时我错过了什么?但是 onEvent(Object event) 做到了。似乎返回的事件有错误的转换,我的 XYZEvent 被转换为 Object.

P/S:我使用了这个库 compile 'de.greenrobot:eventbus:2.4.0' 并且 XYZEvent 包含一个 Serializable object

好的,这是我的错误。我在服务中有一个 onEvent 方法,它已经窃取了我的 XYZEvent。