一:利用 System.arraycopy函数来判断是否为双击
private val TIME_OUT_ARRAY: LongArray = LongArray(2)
private fun isOnDoubleClick(): Boolean {
/**
* 这段代码的意义为将 数组的第二个元素 复制给数组的第一个元素, 第一次进入是没有反应的,在后续的进入都会有效果
*/
System.arraycopy(TIME_OUT_ARRAY, 1 , TIME_OUT_ARRAY, 0, TIME_OUT_ARRAY.size - 1)
TIME_OUT_ARRAY[TIME_OUT_ARRAY.size - 1] = SystemClock.uptimeMillis()// 将最近点击的时间赋值给 数组的第二个元素
return TIME_OUT_ARRAY[0] >= (SystemClock.uptimeMillis() - 3000)
}
二:利用Handler来进行判断是否为双击
private var firstTime = 0
private fun isDoubleClick() {
if (firstTime > 0) {
Toast.makeText(this, "双击事件", Toast.LENGTH_SHORT).show()
} else{
Toast.makeText(this, "点击了一次,请在点击一下", Toast.LENGTH_SHORT).show()
firstTime = System.currentTimeMillis().toInt();
Handler().postDelayed({
firstTime = 0
}, 3000)// 3秒内没有点击即重置
}
}

1017

被折叠的 条评论
为什么被折叠?



