问题标签 [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.

0 投票
2 回答
7710 浏览

android - 带有 Kotlin 的 EventBus 无法正常工作

我是 Android 新手,并尝试使用 EventBus 将消息从 Fragment 发送到其容器 Activity。但是,我收到错误:

以下是 Activity 类中与 EventBus 相关的代码:

以下是片段类

这就是在build.gradle文件中添加库的方式。

知道我做错了什么吗?

0 投票
2 回答
1737 浏览

android - Greenrobot Android Eventbus - 没有选项 eventbusindex 传递给注释处理器

我正在尝试使用 Greenrobot 的 Eventbus 在我的 Android 应用程序中设置一个简单的订阅者,但我遇到了一个 gradle 构建错误。我在下面显示了我的代码。

事件类

基础片段

活动帖子'

订阅代码

以下是我的错误

构建 Gradle 错误

错误:没有选项 eventBusIndex 传递给注释处理器

错误:任务“:app:compileDebugJavaWithJavac”执行失败。

编译失败;有关详细信息,请参阅编译器错误输出。

Gradle 依赖项

0 投票
1 回答
1112 浏览

android - 两个片段之间的 EventBus 通信显示没有为事件类注册的订阅者..?

我第一次尝试实现 EventBus 来通信我的 SDK 21 的 MyActivity 的两个片段(更改 button.setEnabled)

这是我的 POJO 活动

}

这是触发事件的片段......

这是接收(收听)事件的片段B...

这是我的输出,但应用程序不会停止,但不会对我的 fragmentB 按钮进行任何更改:

我的事件总线版本:

有类似的问题,但其中一些没有得到正确的答案,另一些是不同的情况 Activity-fragment 与 fragment to frament 的实现不同。

我的代码对吗?我错过了什么?为什么它不起作用,我该如何解决这个问题?提前致谢...

0 投票
1 回答
736 浏览

android - EventBus 不更新 textview 或 button 并且不显示任何错误?

当从 FragmentA 触发事件时(单击按钮时),我正在传达 MyActivity 的两个片段 我想在 FragmentB 中将 FragmentB 按钮状态更改为启用 true 和 textview setText("new text"),当我运行我的应用程序输出时没有显示错误,但没有进行任何更改。

这是我的 fragmentA 触发事件:

这是片段B

这是我的按钮 xml

我正在使用事件总线 3.0.0。我的代码有什么问题?我该如何解决这个问题?为什么我无法到达侦听器方法?

0 投票
2 回答
984 浏览

android - 使用 EventBus 从 Base Activity 完成一个 Activity?

在一个现有项目上工作时,我发现了这个相当不常见的实现部分(至少对我而言)。由于我与之前已经离开的开发人员没有联系,在我将其视为简单地从我们代码库的另一部分复制和粘贴代码的情况之前,我想向 SO 社区询问这个问题。

这是扩展 BaseActivity 的日常活动和实现:

在 BaseActivity.kt 中,有一个调用 finish() 的事件订阅。

现在,为什么有人会使用 EventBus Activity.finish()从扩展的 BaseActivity 中调用,而不是直接调用它(在上面的 SignActivity 中)?即使 SomeActivity 实际上是一个片段,您也可以简单地调用getActivity.finish().

*关于意图标志,Activity.finishAffinity()如果您的最小 SDK 为 16,您还可以使用完成后堆栈中的所有活动。

提前感谢您满足我的好奇心。:D

0 投票
1 回答
670 浏览

android - viewPager 片段问题中的 EventBus

我在 viewpager、Fragment1Fragment2Fragment3中有你的片段。

fragment1有一个按钮,当点击它时 setEnable(true) fragment2 中的按钮和 fragment2 中的按钮 setEnable(true) fragment3 中的 button3

一切似乎都工作正常,但是当我从片段 3 传递到片段 1 时浏览片段时,片段 3 会丢失信息,并且按钮会像开始一样回到初始状态 -setEnable(false),但片段 1 和片段 2 仍然当我浏览 viewpager 中的所有片段时,工作正常并且不会丢失信息。

导航时如何将信息保留在fragment3中?

这是我的代码:

片段1

片段2

片段3

这些是我的POJO事件

另一个事件

我在我的 SDK 21 中使用 eventbus 3.0。

一切正常,但是当我滑过视图寻呼机时,如果我从 3 滑到 2,信息仍然存在于 frag3 中。但是当我从 3 滑到 2 并回到 3 时达到 1 时,信息就丢失了。也就是说,frag 3中的按钮恢复到原来的状态(启用false)为什么??如何在 viewpager 中保留所有导航中的更改?

0 投票
1 回答
70 浏览

android - 更改 SnackBar BackgroundColor EventBus 异常

Activity从Fragment接收事件,Activity需要创建一个snackbar并改变snackbar的背景。但是在这样做时,日志中的错误发生如下:

08-28 16:15:58.233 13491-13491 E/EventBus: 无法调度事件: 类 SearchPickingListEvent 到订阅类类 HomeActivity android.content.res.Resources$NotFoundException: 资源 ID #0xffffce00

接收 Fragment 事件的方法是这样的:

错误线 mSnackbar.getView().setBackgroundColor(ContextCompat.getColor(this, color));

0 投票
2 回答
44 浏览

android - Android 数据从 Activity 传输到另一个 Activity 的 tablayout 片段

OneActivity -> TabLayout -> FragmentA, FragmentB, FragmentC

TwoActivity -> 一些可点击的小部件

FragmentA我将再次从TwoActivity转到TwoActivity ang,从TwoActivity 到 TwoActivity的另一个实例,再从TwoActivity到TwoActivity的另一个实例, 如果在这些 TwoActivity 中发生某些动作如果用户导航到FragmentC,我希望在 OneActivity 的 FragmentC 中具有动作值。

我尝试了 eventbus,但没有找到解决方案。我想知道为此目的的最佳设计模式。

0 投票
1 回答
1014 浏览

android - 自定义视图中的 EventBus

我正在定制一个视图,我想从那里收听事件。我创建了一个 show() 和 hide() 方法,然后将 register 和 unregister 放入这些方法中。但我试图把

但它没有跳进去onEvent。我正在使用 EventBus 3.0.0。这个怎么存档?谢谢。

0 投票
1 回答
440 浏览

android - 我无法在 Fragment onCreateView 中获取 EventBus 数据

我想通过一个活动将一个值传递给片段EventBus。我可以传递值并使用方法读取@Subscribe。但是我不能将值传递给 onCreateView 开头的变量 - setupGridView(mUser)。我想将该值添加setupGridView为参数。是否有可能在一开始就获取 EventBus 数据onCreateView()