当前位置: 首页 > news >正文

网站做多久能盈利旺道seo网站优化大师

网站做多久能盈利,旺道seo网站优化大师,企业解决方案参考网站,微网站建站文章目录 Android Kotlin版封装EventBus代码封装添加依赖库定义消息类定义常量值定义注解定义工具类 使用在Activity中在Fragment中发送事件 源码下载 Android Kotlin版封装EventBus 代码封装 添加依赖库 implementation("org.greenrobot:eventbus:3.3.1")定义消息…

文章目录

  • Android Kotlin版封装EventBus
    • 代码封装
      • 添加依赖库
      • 定义消息类
      • 定义常量值
      • 定义注解
      • 定义工具类
    • 使用
      • 在Activity中
      • 在Fragment中
      • 发送事件
    • 源码下载

Android Kotlin版封装EventBus

代码封装

添加依赖库

implementation("org.greenrobot:eventbus:3.3.1")

定义消息类

class MessageEvent<T> {var code: Intvar data: T? = nullconstructor(code: Int) {this.code = code}constructor(code: Int, data: T) {this.code = codethis.data = data}
}

定义常量值

object MessageEventCode {const val REFRESH = 0xB001 //刷新const val DELETE = 0xB002 //删除const val ADD = 0xB003 //增加
}

定义注解

@Target(AnnotationTarget.TYPE, AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
annotation class BindEventBus

定义工具类

object EventBusUtils {/*** 注册*/fun register(subscriber: Any) {EventBus.getDefault().register(subscriber)}/*** 取消注册*/fun unregister(subscriber: Any) {EventBus.getDefault().unregister(subscriber)}/*** 发送普通事件*/fun post(event: MessageEvent<*>) {EventBus.getDefault().post(event)}/*** 发送粘性事件*/fun postSticky(event: MessageEvent<*>) {EventBus.getDefault().postSticky(event)}/*** 判断是否注册Eventbus*/fun isRegister(clz: Any): Boolean {return clz.javaClass.isAnnotationPresent(BindEventBus::class.java)}
}

使用

在Activity中

override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_event_bus)if (EventBusUtils.isRegister(this)) {EventBusUtils.register(this)}
}@Subscribe(threadMode = ThreadMode.MAIN)
fun onMessageEvent(event: MessageEvent<*>) {when (event.code) {MessageEventCode.REFRESH -> {tvMessage.text = "刷新数据"}MessageEventCode.DELETE -> {tvMessage.text = "删除数据"}MessageEventCode.ADD -> {tvMessage.text = "添加数据:${event.data}"}}
}override fun onDestroy() {super.onDestroy()if (EventBusUtils.isRegister(this)) {EventBusUtils.unregister(this)}
}

在Fragment中

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)if (EventBusUtils.isRegister(this)) {EventBusUtils.register(this)}
}@Subscribe(threadMode = ThreadMode.MAIN)
fun onMessageEvent(event: MessageEvent<*>) {when (event.code) {MessageEventCode.REFRESH -> {tvMessage.text = "刷新数据"}MessageEventCode.DELETE -> {tvMessage.text = "删除数据"}MessageEventCode.ADD -> {tvMessage.text = "添加数据:${event.data}"}}
}override fun onDestroyView() {super.onDestroyView()if (EventBusUtils.isRegister(this)) {EventBusUtils.unregister(this)}
}

发送事件

EventBusUtils.post(MessageEvent<Nothing>(MessageEventCode.REFRESH))
EventBusUtils.post(MessageEvent<Nothing>(MessageEventCode.DELETE))
EventBusUtils.post(MessageEvent(MessageEventCode.ADD, "hello world"))

源码下载

http://www.15wanjia.com/news/15090.html

相关文章:

  • 为网站开发android客户端教育培训网站模板
  • 北京品牌型网站建设靠谱市场营销考试题目及答案2022
  • 技术支持 东莞网站建设传送带合肥网站维护公司
  • 做网站哪家靠谱今日头条极速版官网
  • 网站建设丶金手指下拉十五google关键词优化
  • 哈尔滨做网站哪家好关键词分析软件
  • 微信小程序游戏手游排行榜百度seo培训课程
  • 在线免费高清logo珠海网站seo
  • 物流网站seo网站优化详解
  • app优化是什么意思天津seo排名
  • 网站建设具体日程安排百度热搜大数据
  • 网站设计行业资讯百度指数的使用方法
  • 长城宽带做网站百度用户客服电话
  • 网站制作培训机构文案代写收费标准
  • 呼和浩特建站企业网站大全
  • 东网站建设推广网站的公司
  • 烟台教育网站建设宁德市地图
  • 个人又什么办法做企业网站seo英文
  • 怎样学剪辑制作视频seo搜索引擎优化介绍
  • wordpress 联动筛选中国网民博客 seo
  • 儋州网站建设制作win7一键优化工具
  • 怎么看一个网站用什么系统做的手机seo排名软件
  • 电子政务网站建设公司济南网络seo公司
  • 网页设计基础入门企业seo培训
  • 看网站有没有做404seo优化对网店的推广的作用为
  • 香港网站服务器电商网站公司
  • 网站浮漂 代码开一个网站需要多少钱
  • 网站设计入门百度中心人工电话号码
  • 我做的网站平台百度搜不到百度发布
  • 杭州专门做网站重庆放心seo整站优化