2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > android kotlin类内绑定事件 Android kotlin 点击事件防重复

android kotlin类内绑定事件 Android kotlin 点击事件防重复

时间:2023-04-28 07:24:46

相关推荐

android kotlin类内绑定事件 Android kotlin 点击事件防重复

利用kotlin的拓展函数和拓展属性轻而易举实现点击事件防重复:

新建一个kt文件,复制以下代码:

inline fun T.singleClick(time: Long = 800, crossinline block: (T) -> Unit) {

setOnClickListener {

val currentTimeMillis = System.currentTimeMillis()

if (currentTimeMillis - lastClickTime > time || this is Checkable) {

lastClickTime = currentTimeMillis

block(this)

}

}

}

//兼容点击事件设置为this的情况

fun T.singleClick(onClickListener: View.OnClickListener, time: Long = 800) {

setOnClickListener {

val currentTimeMillis = System.currentTimeMillis()

if (currentTimeMillis - lastClickTime > time || this is Checkable) {

lastClickTime = currentTimeMillis

onClickListener.onClick(this)

}

}

}

var T.lastClickTime: Long

set(value) = setTag(1766613352, value)

get() = getTag(1766613352) as? Long ?: 0

使用方法:

tvTest.singleClick(1500) {

Log.e("singClick",System.currentTimeMillis().toString())

}

//括号内为间隔时间,可以忽略,默认800

//或者

tvTest.singleClick {

Log.e("singClick",System.currentTimeMillis().toString())

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。