最近看到了好几篇文章都在说这个功能。
有的用注解实现,有的用Java工具类来实现。
下面留言,有很多朋友说可以用kotlin的扩展方法实现。
直接上代码
(在任意kt文件中)
var lastClickTime = 0L
fun singleClick(during:Long = 500L,callBack: () -> Unit){
var now = Date().time
if(now - lastClickTime > during){
callBack()
}
lastClickTime = now
}
调用
mButton.setOnClickListener {
singleClick {
//do something
}
}
以上
对了此方法还适用其他场合,例如过滤重复的网络请求,过滤重复的调用等等。