Android 防重复点击(Kotlin 协程实现 和 Handler实现)

Posted 匆忙拥挤repeat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 防重复点击(Kotlin 协程实现 和 Handler实现)相关的知识,希望对你有一定的参考价值。

文章目录

考虑了,直接绑定 View#setOnClickListener 实现函数;或传入View.OnClickListener 实例。

Kotlin 协程实现

调用

mBind.btnJaClickA.debounceClick(lifecycleScope)  
mBind.btnJaClickB.debounceClick(this)  
mBind.btnJaClickC.debounceClick(lifecycleScope, originBlock =  )
mBind.btnJaClickD.debounceClick(this, originBlock =  )

Handler + Runnable 实现

除了构建一个全局的 handler 对象; 或可以直接使用 View内的handler实例。
eg. this.handler.postDelayed()

调用

mBind.btnJaClickD.debounceClickWidthHandler  
mBind.btnJaClickE.debounceClickWidthHandler(originBlock =  )

基于系统时间 实现

调用

mBind.btnJaClickG.clickWithTrigger  
mBind.btnJaClickH.clickWithTrigger(originBlock =  )

本实现,会先触发真实事件,也就是连续点击时,看到的日志是这样的:
start …
end …
start
start
start

以上是关于Android 防重复点击(Kotlin 协程实现 和 Handler实现)的主要内容,如果未能解决你的问题,请参考以下文章

Android 防重复点击(Kotlin 协程实现 和 Handler实现)

Android kotlin使用注解实现防按钮连点功能

分享Android KTX + Kotlin协程 组合使用

Android实现优雅快速的网络请求!

android 点击事件防抖 防止重复点击

Android - ViewModel、LiveData、Room 和 Retrofit 以及协程放在 kotlin 中