仿比心app源码android 防止重复点击

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’ 类似的库

你可能感兴趣的:(技术类,android,android,studio,java,安卓,移动开发)