gpt4 book ai didi

android - 未收到 Greenrobot EventBus 事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:30 27 4
gpt4 key购买 nike

我正在使用 Greenrobot EventBus 将事件从一个 Activity 传递到另一个 Activity 。

流程是这样的:Activity1 启动 -> 扫描条形码 -> Activity2 启动 -> 接受或拒绝响应并向 Activity1 发送事件。

因此 Activity2 通过执行以下操作向 Activity1 发送一个新事件:

@Override
public void onCreate(){
EventBus.getDefault().register(this);
// other initialization code
EventBus.getDefault().post(new MyEvent());
}

在 Activity1 中,我注册了事件总线,而且我还有用于接收事件的公共(public) onEvent(MyEvent myEvent) 方法。

问题是没有触发 onEvent。我查看事件总线对象是否存在问题(例如不同的实例或 Activity 1 和 2 中的某些内容),但它是同一个实例。

我不知道问题出在哪里。如果有人可以看一下并告诉我我做错了什么,我将不胜感激。

谢谢!

最佳答案

在这种情况下,您可能需要使用粘性事件。 Activity1 启动 Activity2 后进入后台,不再接收任何事件。

把它放在你的 Activity1 而不是 EventBus.getDefault().register(Object Event)

@Override
public void onStart() {
super.onStart();
EventBus.getDefault().registerSticky(this);
}

并替换

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

在 Activity2 中

EventBus.getDefault().postSticky(new MyEvent());

Here is a link to the documentation explaining it

关于android - 未收到 Greenrobot EventBus 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27857584/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com