Kotlin 处理快速点击

378 阅读1分钟

通过 Kotlin 拓展, 在拓展类中新增两个方法

fun View.OnClickListener.initSingleClickListener(vararg views: View) {
    views.map {
        it.setOnSingleClickListener(this)
    }
}

fun View.setOnSingleClickListener(listener: View.OnClickListener) {
    setOnClickListener {
        isClickable = false
        listener.onClick(this)
        postDelayed({ isClickable = true }, 1000)
    }
}

使用: 

initSingleClickListener(button1, button2)

Activity 或者 Fragment 实现 View.OnClickListener 接口, 正常使用就可以了

override fun onClick(v: View){
    // todo
}