object ToolsUtil {
//防止连续点击
/** 判断是否是快速点击 */
private var lastClickTime: Long = 0
val isFastDoubleClick: Boolean
get() {
val time = System.currentTimeMillis()
val timeD = time - lastClickTime
//500毫秒内防止响应第二次,这个值可以根据需要自行调整
if (timeD < 500) {
return true
}
lastClickTime = time
return false
}
}
abstract class NoDoubleClickListener : View.OnClickListener {
override fun onClick(v: View) {
if (ToolsUtil.isFastDoubleClick) {
return
}
onNoDoubleClick(v)
}
abstract fun onNoDoubleClick(v: View?)
}
使用:
view.sOnClickListener(object : NoDoubleClickListener() {
override fun onNoDoubleClick(v: View?) {
//处理点击事件
}
})