问题标签 [greenrobot-eventbus]

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.

0 投票
4 回答
10133 浏览

android - EventBus 不在主线程上

我正在尝试从我的 WS 获取位置并更新我的 GoogleMap 片段中的标记,所以我正在做的是:

我的 HomeActivity 包含 2 个片段(2 个 GoogleMaps,其中一个具有 TileOverlay)。

在我的 GoogleMap 片段中,我试图从 OnCameraChangeListener 获取我的标记位置,以便在用户继续移动时添加标记。

我正在使用 EventBus 和 Okhttp 进行异步请求!

我的谷歌地图片段:

之后它将在 APIManager 中执行 WS 请求。

}

我熟悉 Not on the mainThread 错误,但理论上这是可能的,如果不是我如何在不做片段的新实例的情况下添加标记。

0 投票
1 回答
3066 浏览

android - Android EventBus - 从特定事件中取消注册

我在我的 Android 应用程序中使用 EventBus,我试图从特定事件中取消注册,同时继续注册到其他事件。

看起来 unregister 方法只将订阅者作为参数,而不是事件。

我知道我可以为每个事件使用不同的实例,但这并不是真正可扩展的。

我也检查了 Otto,但看起来你也不能从特定事件中取消注册。

任何帮助,将不胜感激。

谢谢

0 投票
4 回答
11231 浏览

android - 哪种活动生命周期方法最适合注册/取消注册到事件总线?

在 Activity 中注册注销事件总线(如 otto、EventBus 或 tinybus)的最佳位置是什么?为什么?

  1. onCreate()-onDestroy()
  2. onStart()-onStop()
  3. onResume()-onPause()

Otto 的示例使用了 onResume()-onPause(),EventBus 提到了 onStart()-onStop(),我们需要在我们的应用程序中使用 onCreate()-onDestroy() 来更新活动的 UI,即使它在后台也是如此。所以我想这可能是这三个中的任何一个,具体取决于事件的性质及其处理方式,但我想知道是否还有其他需要考虑的地方。

0 投票
0 回答
349 浏览

android - GreenRobot EventBus - 使用 EventBus 启动一个新的 Fragment

GreenRobot EventBus- 使用 EventBus 启动一个新片段 我正在使用 EventBus 库发布一个新片段,但没有任何反应。

我正在使用这种方法

我从 github 获取了一个示例代码,该库正在使用该库当我采用项目中已经使用的“A”类时,上述方法可以正常工作,但是当我使用我正在集成到项目中的“B”类时,然后什么也没有发生。我是否遗漏了任何东西,我的意思是是否有必要注册课程或其他东西。

0 投票
1 回答
417 浏览

android - 如何防止调用类层次结构中的所有“onEvent”方法

我正在努力阻止调用类层次结构链中的所有方法。可以说我有一个基类

然后我想发布两个不同的事件:


活动中的某处


问题是这两个 onEvent 方法都将在这种情况下执行。如何防止它并将消息发布到确切的方法?

0 投票
2 回答
512 浏览

android-fragments - 在 PageSlidingTabStrip 的选项卡中使用相同的片段:错误的视图正在返回

我有 8 个标签。由于所有选项卡都应显示自定义列表,因此我正在尝试添加相同的 Fragment 实例。我正在使用 OnEventBackGroundThread 中的 EventBus 下载列表并将其添加到 OnEventMainThread 中的适配器。
我可以看到 PageSlidingTabStrip 下载所选选项卡的数据以及其他两个选项卡的数据(在所选选项卡旁边)。标签标题是准确的。我能够下载每个选项卡的数据。现在的问题是选项卡显示错误的视图。有时,下一个选项卡的数据,有时是上一个选定选项卡的数据。我经历了这个解决方案,但对我不起作用。 PagerSlidingTabStrip:如何在运行时刷新当前选项卡中的内部片段 Listview 并停止为下一个选项卡加载数据

  1. 应该怎么做才能显示正确的视图?

  2. 我们可以将每个片段保存在destroy方法中并重复使用吗?

  3. 如果我使用 AsyncTask(而不是 EventBus)实现下载任务,选项卡将按预期工作。我是否缺少 EventBus 中的任何内容,因为我对所有这些概念都不熟悉。我是安卓新手

我正在尝试创建类似于 youtube 应用程序的应用程序。导航抽屉中的每个项目都会有新的片段,其中包含选项卡和每个选项卡中的项目列表。

这是我的代码。

TabsFragmentPageAdapter

AllCategoriesFragment.java

0 投票
1 回答
1631 浏览

android - 将演示者类注册到 EventBus (android MVP)

我在我的 android 应用程序中使用了 greenrobot 的 EventBus,我非常喜欢它。

但是,现在我想通过使用演示者(MVP)将逻辑与我的片段分开。

以下是可能的,它有用吗?

分段:

主持人:

这有意义吗?

或者从总线和复杂的片段生命周期中取消注册演示者甚至是危险的?

编辑:将总线注册移动到演示者本身(感谢 Nicklas)。

对这个架构还有更多的评论吗?

0 投票
1 回答
772 浏览

android - 应用关闭后应保留粘性事件 GreenRobot Eventbus

使用GreenRobot - EventBusStickyEvents在我关闭应用程序(显示正在运行的应用程序,然后滑动将其从那里删除)或从.Android Studio

我的意思onEventMainThread是不调用后EventBus.getDefault().registerSticky(subscriber);

为什么?

0 投票
3 回答
7262 浏览

android - Android 事件总线不适用于两个事件监听器

在我的 Android 应用程序中,我使用了 Activity 和 Adapter 作为列表视图,我需要使用 EventBus 通过事件侦听器来通信适配器类和 Activity,因此我创建了两个事件侦听器类。

我的流程是:

1)我在活动中有一个按钮,该按钮应该与适配器类通信。

2)如果我单击文本视图(列表视图的文本视图小部件)应该与 Activity 类通信。

通过以下代码,它适用于 Adapter 与 Activity 通信,但 Activity 不与适配器类通信。请帮助我了解如何在两个课程中进行交流?

我已经发布了我的完整示例项目代码:

活动类:

适配器类:

0 投票
2 回答
15505 浏览

greenrobot-eventbus - GreenRobot EventBusException:订阅者类已注册到事件类

我的 android 应用程序中有一个 MainActivity 和一个 Service。我已经向 EventBus 注册了,当我通过开关手动从主要活动启动服务时,一切正常。但是,当我从 AlarmManager 警报启动服务时,我的应用程序崩溃并显示以下堆栈跟踪:

这是我的 MainActivity 代码:

这是我的服务代码:

最后是带有 startShade 和 stopShade 方法的类。这也是接收上述警报的广播接收器:

是什么导致了这次崩溃。我该如何解决?