我正在开发此应用程序,并且正在使用greenbot中的EventBus 3.1.1。
我正在尝试的是将事件从片段发布到活动。

奇怪的是我的代码在调试模式下工作正常,但是当我构建发行版时,尝试注册时会崩溃。

我一直在寻找答案,结果全都出来了,因为订户类别不应该是张贴者类别,在我看来,这件事没有问题。

这是我的代码:

在我的片段中,我打电话给:

EventBus.getDefault().post(new FireEvent());


在我的活动中:

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

@Override
protected void onStop() {
    if (EventBus.getDefault().isRegistered(this))
        EventBus.getDefault().unregister(this);
    super.onStop();
}

@Override
protected void onStart() {
    super.onStart();
    if (!EventBus.getDefault().isRegistered(this))
        EventBus.getDefault().register(this);
}


然后我订阅该事件:

@Subscribe(threadMode = ThreadMode.MAIN)
public void fireEvent(FireEvent event) {

}

最佳答案

根据文档,您应该为发布版本添加以下proguard规则:http://greenrobot.org/eventbus/documentation/proguard

关于android - java.lang.RuntimeException:h.b.a.g:订户类DashboardActivity及其父类(super class)没有带@Subscribe批注的公共(public)方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56867898/

10-13 07:17