2020-01-08防止View快速点击

一、防止View 快速点击

/**
 * Created by Yangxy on 2020-01-08
 * description -- 防止View快速点击
 */

const val preventClicksKey = 1766613352

var <T : View> T.lastClickTime: Long
    set(value) = setTag(preventClicksKey, value)
    get() = getTag(preventClicksKey) as? Long ?: 0

inline fun <T : View> T.preventClicks(time: Long = 800, crossinline block: (T) -> Unit) {
    setOnClickListener {
        val currentTimeMillis = System.currentTimeMillis()
        if (currentTimeMillis - lastClickTime > time || this is Checkable) {
            lastClickTime = currentTimeMillis
            block(this)
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容