android 防止重复点击
1、kotlin实现通过 Kotlin 拓展, 在拓展类中新增两个方法fun View.OnClickListener.initSingleClickListener(vararg views: View) {views.map {it.setOnSingleClickListener(this)}}fun View.setOnSingleClickListener(listener: View.
1、kotlin实现
通过 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
}
2、java实现
方案一:
项目中如果使用了 Rx,可以引入 JakeWharton 大神的 RxBiding 库,不仅实现了防止重复点击,而且防抖,节流什么的,要啥有啥。
方案二:classpath ‘com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4’ 类似的库
更多推荐
所有评论(0)