我已在EventBus
和Activity (BaseActivity)
注册了Fragment (BaseFragment)
。所以,我抓住了以下事件:
在BaseActivity
和BaseFragment
我有相同的代码:
public void onEvent(Object object) {
// do nothing
}
我的孩子fragment (A)
extended
来自BaseFragment
,我有一个事件XYZEvent
,我希望调用此方法:
public void onEvent(XYZEvent event) {
// my logic, not called :(
}
但事实并非如此。我已调试,BaseActivity
和BaseFragment
中的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
对象
答案 0 :(得分:0)
好的,这是我的错误。我有一个onEvent方法,它已经窃取了我的XYZEvent。