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

网站做多久能盈利建站公司哪家好

网站做多久能盈利,建站公司哪家好,装修平台哪个好,如何做网站建设文章目录 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.mmbaike.com/news/67175.html

相关文章:

  • 网页传奇挂机脚本seo公司推荐
  • 高端网站制作模板品牌推广方案案例
  • 宜兴做网站的公司中国seo公司
  • 可靠的网站建设图seo网站制作优化
  • 创建个人微信公众号刷关键词排名seo软件
  • 地方门户网站推广app注册推广任务平台
  • 如何注册一个网站域名备案seo推广营销靠谱
  • 网站百度百科怎么做汽车推广软文
  • 做个手机网站学推广网络营销去哪里
  • 网页游戏宣传片排行榜网站推广seo方法
  • 网页界面设计招聘seo免费优化公司推荐
  • 门户网站建设工作管理办法全媒体运营师
  • 上海做网站的公司是什么百度seo网站
  • 网站开发需要掌握的知识优秀网站网页设计图片
  • 国内做网站比较好的公司想学销售去哪培训
  • 阿里云添加网站重大新闻事件
  • 有口碑的唐山网站建设品牌运营策划方案
  • 佛山 网站开发seo实战技术培训
  • 做网站应该注意什么制作一个简单的html网页
  • 网站开发之美seo优化好做吗
  • 主题资源网站建设 反思详情页页面页面
  • wordpress菜单怎么建seo网站平台
  • 教务系统网站怎么做贵阳搜索引擎排名推广
  • 怎么制作一个自己的网站成都百度推广公司电话
  • WordPress如何做多语言版本安康地seo
  • 自己做网站有什么用比优化更好的词是
  • 全栈网站开发者信息流广告
  • 常州网站建设网站手机360优化大师官网
  • 吐槽做网站软文写作公司
  • 提供手机网站制作今天新闻头条最新消息