【问题标题】:RuntimeException: Could not dispatch event @ ottoRuntimeException:无法调度事件@otto
【发布时间】:2014-08-03 21:45:34
【问题描述】:

我们当前的应用程序版本中存在来自 otto 的 EventHandler 的问题。 我们在崩溃日志中得到一个RuntimeException,其描述如下:

“原因:java.lang.RuntimeException:无法调度事件: classcom.nameOfBrand.ui.events.SwitchFragmentEvent 到处理程序 [事件处理程序公共无效 com.nameOfBrand.ui.activities.MainActivity.onSwitchFragmentEvent(com.nameOfBrand.ui.events.SwitchFragmentEvent)]"

我们有一个按钮,在它的 onClickListener 中我们触发了一个自定义的SwitchFragmentEvent。 在一些奇怪的情况下,框架无法调度事件并抛出一个RuntimeException

带有按钮的片段扩展了AbstractResultListFragment,而这个片段扩展了AbstractFragment。我们在 AbstractFragement 的 onResume 中注册 EventBus,在 onPause 中取消注册。一切正常,除了这个按钮:/

有没有人有这样的想法或曾经做过类似的事情?

更新: 斯康普特是对的。 RuntimeException 是从我们代码中的 NullPointerException 的奥托原因引发的。谢谢

提示:阅读您的崩溃日志直到结束;)

【问题讨论】:

  • 您是否有任何来自异常的其他信息?那时有should be 一个包装异常。
  • 哦,我明白了!到目前为止还没有在崩溃日志中滚动。在我的例子中,它是一个 NullPointer,正如你所说,它包装在框架的这个 RuntimeException 中。谢谢
  • @scompt.com 我没有包装异常。我在我的活动中有一个@Produce 方法,我的活动的viewpager 中的一个片段应该接收该事件。但应用程序与异常发生冲突

标签: java android runtimeexception otto


【解决方案1】:

此时should be 有一个包装异常,它将提供有关崩溃的更多信息。

【讨论】:

  • 你应该如何使用这个 protected 方法 "void dispatch(Object event, EventHandler wrapper)" ?
  • 这怎么可能是一个解决方案?它将我链接到无法解决任何问题的第三方方法?我需要用更高级和更清晰的解释来解决这个问题!
【解决方案2】:

如果配合AndroidAnnotation使用,添加@UiThread查看处理方法。注意方法不应该是private

【讨论】:

  • view treatment method 是什么意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多