這個在專案中用得非常多,因為那些測驗人員非常喜歡在測驗的時候多次點擊同一個按鈕看看有沒有什么bug
所以寫點擊事件的時候盡量都用這個
/**
* @Anthor:Tian
* @Date:2020/10/5
* @Description:防止雙擊
*/
abstract class NoDoubleClickListener : View.OnClickListener {
companion object {
const val MIN_CLICK_DELAY_TIME = 800 //兩個點擊最小間隔
}
var lastClickTime: Long = 0
override fun onClick(v: View?) {
var curTime = System.currentTimeMillis()
if (curTime - lastClickTime > MIN_CLICK_DELAY_TIME) { //只有大于才會走邏輯
lastClickTime = curTime
noDoubleClick()
}
}
abstract fun noDoubleClick()
}
使用
button.setOnClickListener(object : NoDoubleClickListener() {
override fun noDoubleClick() {
Log.e("TAG", "無法連點兩次" )
}
})
運行結果:雙擊只出現一次log

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/162581.html
標籤:其他
上一篇:自定義回應資料結構
