防止按钮多次点击,可以增加一个点击时,判断间隔时间是否达到一定时间,否则点击事件不做处理。
open class OnThrottledClickListener : View.OnClickListener {
companion object {
const val MIN_CLICK_DELAY_TIME = 800
}
private var lastClickTime = 0L
override fun onClick(v: View?) {
if (Math.abs(System.currentTimeMillis() - lastClickTime) > MIN_CLICK_DELAY_TIME) {
lastClickTime = System.currentTimeMillis()
onThrottledClick(v)
}
}
open fun onThrottledClick(v: View?) {}
}
点击事件使用:
tvTextView.setOnclickListener(
object : OnThrottledClickListener {
override fun onThrottledClick(v: View? ){
// 具体的点击操作
}
}
)