当前位置: 首页 > 工具软件 > haveno > 使用案例 >

EventBus报错its super classes have no public methods with the @Subscribe annotation

壤驷经国
2023-12-01

很多小伙伴可能遇到过这个错,自己在activity中也注册了,

在接收event的地方也加了这句 @Subscribe(threadMode = ThreadMode.MAIN)。但是为什么还是报错呢?我也找了很久,后面发现是有的activity和fragment,没有用到event但是因为在base里面已经注册了。所以导致这个问题,也就是说你只有在使用event的页面才去注册。可以在base里面加上以下代码
protected boolean  isRegisterEventBus(){
    return false;
}

 

@Override
public void onStart() {
    super.onStart();
    if (isRegisterEventBus()) {
        EventBus.getDefault().register(this);
    }
}
 类似资料: