问题标签 [greenrobot-eventbus-3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - EventBus 注释处理器在 AndroidStudio 3.1 中不接受 ThreadMode.MAIN_ORDERED
我目前正在使用 AndroidStudio 3.1 Canary 3 和 D8。我试过没有 D8,也试过 3.1.0。一致的问题是 MAIN_ORDERED 在无法找到 ENUM 的注释处理器中引发错误。但是,当我检查 EventBus 代码时,ENUM 就在那里。Android Studio 还会自动完成 MAIN_ORDERED 枚举。
在我的活动中,我有:
@Subscribe(threadMode = ThreadMode.MAIN_ORDERED)
public void fragmentDone(FragmentResult msg) {
由于注释处理器的错误,这无法构建:
07:28:26.857 [ERROR] [system.err] error: Unexpected error in EventBusAnnotationProcessor: java.lang.EnumConstantNotPresentException: org.greenrobot.eventbus.ThreadMode.MAIN_ORDERED
如果我恢复使用ThreadMode.MAIN
.
我正在使用org.greenrobot:eventbus:3.1.1
andorg.greenrobot:eventbus-annotation-processor:3.1.0
这似乎是正确的版本。
这会导致生成损坏的 EventBusIndex.java 文件:-
再一次,查看import org.greenrobot.eventbus.ThreadMode;
文件,枚举看起来包含MAIN_ORDERED
声明。
我没主意了...
event-bus - 我在父类中注册对象但在子类中订阅事件,但它仍然有效,为什么?
所以这正是我希望它工作的方式,但我只是对它为什么工作感到困惑。我在父类中注册对象,但在子类中订阅事件。
通过在父类中注册对象,EventBus不会看到类型父类(仅subscribed
父类中的事件)吗?
如果是这样,那么它如何能够看到子类中订阅的事件呢?
如果有人能澄清这一点,那就太棒了,谢谢!
java - 活动和服务之间的 EventBus 通信
我正在开发一个带有 EventBus 库的 Android 应用程序。我有一项活动和一项服务。我想从活动中触发一个事件并在服务中接收它。
活动是:
服务是:
清单是:
当我按下活动按钮启动后台任务时,EventBus 在 logcat 上显示以下消息:
怎么了?
android - EventBus 在同一个片段中发布和订阅
我有一个片段可以使数据与远程服务器同步,我需要发送各种不同的对象实例,它必须在后台运行,所以我为每个对象实现了一个 AsyncTask。在这个 Asynctask 中,我准备了要通过 WebService 发送到远程服务器的数据。当它收到响应时,它会发布一个事件,该事件被同一片段中的订阅者捕获。我的麻烦是第一次正确发布事件,但在接下来的帖子中,事件成倍增加。
那是我的代码:
java - EventBus - 类无法识别 @Subscribe 注释
我不明白,我已经在其他项目中使用该库,并且运行良好。!我仔细检查了代码,它是一样的,但是这个是行不通的。!?
错误
接收活动
事件类
发布活动
有些人建议在 ProGrad 中添加行,这样它就不会删除订阅者等等。所以我添加了这些,但仍然无法正常工作
android - GreenRobot eventbus gradle 升级失败,de.greenrobot:eventbus:3.1.1
当我尝试使用依赖升级 eventbus SDK 时"de.greenrobot:eventbus:3.1.1"
,它说无法解析"de.greenrobot:eventbus:3.1.1"
。
android - Eventbus onMessageEvent 没有被调用
我已经在我的项目中实现了 EventBus,但我没有得到我的所有事件
在这里,我在 onClick(); 中创建了 2 个事件;这是我的另一个活动,我有另一个@Subscribe
我不知道为什么我的第二次吐司没有被叫到,我已经正确地完成了每件事。
我怀疑的AnotherActivity
是尚未创建,所以我的事件没有被调用,那么 EventBus 的用途是什么?
java - 如何在 Android 上的两个 Activity 中使用 EventBus
在我的应用程序中,我想使用EventBus来管理事件。
在我的应用程序中,我在活动 A上打开活动 B!我想当活动 B完成时,在活动 A中调用一个事件。
我写下面的代码
活动乙:
活动一:
更新代码:
但不能调用任何登录getEventShowDialog
。不向我显示此方法的任何日志!
我该如何解决?
android - Android 上的单元测试 EventBus
我已经看到了这个 SO question,但它并没有为我正在尝试做的事情提供解决方案。
我正在使用 EventBus(来自 greenrobot)在我的应用程序中发送消息。我希望能够对我的应用程序进行单元测试,以确认消息已发布到总线。只是。
这是我想用一个发布消息的方法测试的类:
这是我尝试过但不起作用的测试:
我已经编写了这个测试,即使知道它可能会失败,因为 EventBus 使用单例来发布消息,而我不知道如何测试正在执行的单例方法。
而且,这只是一个大项目的一部分。相关的部分。我想根据不同的交互来测试消息的正确发布
java - 如何在android中的活动之间使用EventBus
在我的应用程序中,我有两个 activities
.
活动 A和活动B。
进入活动 B我有dialog
,当用户单击其中一个按钮时dialog
,我想在活动 A
中调用方法,
我在下面编写代码,但是当单击dialog
按钮时不调用活动 A中的方法。
活动 B 对话框代码:
活动 A 代码:
单击对话框时,不显示我Log.e("paymentLog", "Clicked");
进入日志。
我该如何解决?