踩坑错误记录

在做安卓项目的时候,要使用实现在Fragment之间传数据,故使用EventBus,但遇到一个错误:

org.greenrobot.eventbus.EventBusException: Subscriber class com.cyt.translate.fragment.MemoFragment and its super classes have no public methods with the @Subscribe annotationat org.greenrobot.eventbus.SubscriberMethodFinder.findSubscriberMethods(SubscriberMethodFinder.java:67)at org.greenrobot.eventbus.EventBus.register(EventBus.java:143)at com.cyt.translate.fragment.MemoFragment.onCreateView(MemoFragment.kt:53)at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2698)at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320)at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1187)at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356)at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497)at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2625)at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2577)at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2722)at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:346)at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1188)at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356)at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497)at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2625)at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2577)at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:247)at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:541)at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:210)at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)at android.app.Activity.performStart(Activity.java:8024)at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3475)at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)at android.os.Handler.dispatchMessage(Handler.java:106)at android.os.Looper.loop(Looper.java:223)at android.app.ActivityThread.main(ActivityThread.java:7656)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

其实问题再第一行错误提示已经很明显了…

Subscriber class com.cyt.translate.fragment.MemoFragment and its super classes have no public methods with the @Subscribe annotation

问题在于:
只有在有使用 @Subscribe 注解方法的类中才需要去注册 EventBus
在这里,我的代码中发送者Fragment1 并没有用到@Subscribe注解,故不能去注册:

EventBus.getDefault().register(this);

只是在接受者里有函数:

@Subscribe(threadMode = ThreadMode.MAIN)
fun onEvent(bundle: Bundle){// dosomething
}

故解决方法:不要在没有出现@Subscribe注解类里注册EventBus

EventBus: Subscriber class XXX and its super classes have no public method with the @Subscribe相关推荐

  1. Subscriber class XXX and its super classes have no public methods with the @Subscribe annotation

    Caused by: org.greenrobot.eventbus.EventBusException: Subscriber class com.pdxx.yxzp.main.student.ex ...

  2. AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe

    AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe 参考文章: (1)An ...

  3. EventBus报错:and its super classes have no public methods with the @Subscribe annotation

    繁忙的工期终于结束了,今天封装了工作相关的内容.在处理一个观测者模式的时候想想用用EventBus,于是就用EventBus写了一个栗子但是发现报错了!!!!!看了看报错的内容and its supe ...

  4. Subscriber class xxx.xxx.xxx and its super classes have no public methods with the@Subscribe annotat

    转载自:http://blog.csdn.net/u012452490/article/details/49737693 使用EventBus 3.0.0-beta1的出现bug 报错的原因提示:提示 ...

  5. Subscriber class .NewsFragment and its super classes have no public methods

    使用EventButs3.0.0 出现以下错误 Caused by: de.greenrobot.event.EventBusException: Subscriber class com.gozap ...

  6. Android 解决 No static method in class La/a/a/a; or its super classes

    错误堆栈: Process: com.chaozh.iReader, PID: 24217java.lang.NoSuchMethodError: No static method getDrawab ...

  7. Android java.lang.NoSuchMethodError: No virtual method ;or its super classes (declaration of

    修改 AOSP 源码后调用错误 java.lang.NoSuchMethodError: No virtual method *** in class *** ;or its super classe ...

  8. Android EventBus Subscriber class XXXActivity has no public methods called onEvent

    错误信息: Caused by: c.a.a.g: Subscriber class XXXActivity has no public methods called onEvent. 造成这个错误的 ...

  9. Subscriber class xxx ,xx already registered to event

    这个错误是自己在使用EventBus的时候 register 多写了一次引起的. EventBus.getDefault().register(this);

最新文章

  1. java_有返回值线程_提前加载例子
  2. 美国火星车失联的7分钟,高清视频传回来了
  3. jack语言编译器的实现过程
  4. [css] 如何给文字的color设置渐变
  5. 漫谈SCA(软件成分分析)测试技术:原理、工具与准确性
  6. python调用自己写的函数_python调用自定义函数的实例操作
  7. Python爬虫开发【第1篇】【机器视觉及Tesseract】
  8. three.js 下载安装、开发环境
  9. LVM逻辑卷管理@设备、格式、摩、引导自己主动安装一个完整的章节
  10. ssm欢欢宠物医院管理系统的设计与实现毕业设计源码171734
  11. java 注解的实例化
  12. wordpress安装教程_如何安装WordPress –完整的WordPress安装教程
  13. java对接支付宝当面付支付和查询
  14. r1音箱原生系统更改服务器,低门槛不破坏R1功能改AUX音源电脑喇叭[已更新完整]...
  15. iTop-4412精英版的u-boot-2017.11移植教程(三)
  16. 国网云(华为组件)使用
  17. 高通Linux Android 平台中的蓝牙功能学习 (4)-- Android Marshmallow 中的蓝牙 4.2
  18. Oracle启用scott两种方法
  19. button标签定义type属性
  20. CES2017盘点: 各大公司都推出了哪些机器人

热门文章

  1. 在uniAPP中使用使用低功耗蓝牙通讯
  2. 如何把民间借贷行为转化为诈骗报案
  3. (转)FFmpeg源代码简单分析:avformat_open_input()
  4. 数码相机的照片用计算机处理,作业数码相机的使用与维护
  5. 文章-自学的程序员如何找到好工作?
  6. 主板升级nvme 教程
  7. 如何挑选老域名及如何查看老域名的历史数据
  8. cocos2dx 安卓环境播放mid音乐
  9. 最全的硬盘修复专题帖2(转贴)
  10. 基于文本服务框架的拼音输入法研究与实现