使用官方的LiveData 实现消息总线 LiveDataBus
LiveDataBus:一种Android事件总线实现
最新推荐文章于 2025-06-09 11:38:55 发布
原创
最新推荐文章于 2025-06-09 11:38:55 发布
·
置顶
·
372 阅读
·
0
·
0
·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章标签:
#android
#kotlin
class LiveDataBus private constructor() {
private val bus: MutableMap
private object SingletonHolder {
val DATA_BUS = LiveDataBus()
}
fun
if (!bus.containsKey(target)) {
bus[target] = BusMutableLiveData()
}
return bus[target] as BusMutableLiveData
}
companion object {
fun get(): LiveDataBus {
return SingletonHolder.DATA_BUS
}
}
/**
* 事件订阅,关注生命周期
* @param sticky =true 表示当前订阅可以接受订阅前最后发送的结果
*/
fun
with
override fun onChanged(t: T) {
if (sticky||mVersion != START_VERSION) {
observe.invoke(t)