EventBus 报“Subscriber class already registered to event class”错误
2024-08-24 00:20:23
这句子的话意思也很容易理解,“接收者类已经被注册为事件类了”。
之前我是这么写:
事件注册是写在onStart()里面的
@Override
protected void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
来看一下Activity的生命周期:
onStart()方法会在onCreate()后调用一次,在onRestart()后又调用一次,所以难免会出现重复注册EvenBus的情况。
解决方式:
@Override
protected void onStart() {
super.onStart();
if(!EventBus.getDefault().isRegistered(this)){//加上判断
EventBus.getDefault().register(this);
}
} @Override
protected void onDestroy() {
if (EventBus.getDefault().isRegistered(this))//加上判断
EventBus.getDefault().unregister(this);
super.onDestroy();
}
最新文章
- RubyGems 镜像
- json数据实际应用
- jQuery 操作html元素
- 关于audio元素在实际项目中遇到的问题总结
- pthread 学习系列 case1-- 共享进程数据 VS 进程
- 动态时间规整(DTW) 转载
- Ubuntu 软件包管理详解
- CodeForces 455C Civilization (并查集+树的直径)
- 动态规划(树形DP):LNOI 2016 侦察守卫
- Drag &; Drop and File Reader
- php缓存方案
- 【IOS学习基础】weak和strong、懒加载、循环引用
- css实现下拉菜单
- AutoFac+ASP.NetMvc,AspNet.Core
- 自动化测试框架Selenium工作原理
- 【Toll!Revisited(uva 10537)】
- #005Python实验楼基本操作学习笔记
- HashMap、HashTable、ConcurrentHashMap、HashSet区别 线程安全类
- XXL-JOB原理--定时任务框架简介(一)
- Java多线程编程模式实战指南(三):Two-phase Termination模式
热门文章
- bzoj4105: [Thu Summer Camp 2015]平方运算
- 织梦系统如何设置URL绝对路径及绝对路径的好处
- 有关定时器setTimeout()、setInterval()详解
- wukong引擎源码分析之索引——part 3 文档评分 无非就是将docid对应的fields信息存储起来,为搜索结果rank评分用
- 编程方式取得Spring上下文的Properties
- liunx操作系统安装<;一>;
- JavaScript-Tool:Ext JS
- docker使用问题
- Python2/3共存,pip2/3共存
- JAVA基础--数组的应用04