admin管理员组文章数量:1030419
Android 多点击监听器
代码语言:javascript代码运行次数:0运行复制abstract class MultiClickListener(var count: Int = 5, var duration: Long = 2000) : View.OnClickListener {
//记录点击次数
private var hits: LongArray = LongArray(count)
override fun onClick(v: View?) {
// 将 hits 数组内所有元素左移一个位置
System.arraycopy(hits, 1, hits, 0, hits.size - 1)
// 获取当前系统已经启动的时间
hits[hits.size - 1] = SystemClock.uptimeMillis()
if (hits[0] >= (SystemClock.uptimeMillis() - duration)) {
// 在有效时间内已经连续点击了 count 次,算一次有效点击
onClickValid(v)
// 将所有时间重置
hits.forEachIndexed { index, _ ->
hits[index] = 0
}
}
}
//当连续多次点击有效时回调
abstract fun onClickValid(v: View?)
}
Android 多点击监听器
代码语言:javascript代码运行次数:0运行复制abstract class MultiClickListener(var count: Int = 5, var duration: Long = 2000) : View.OnClickListener {
//记录点击次数
private var hits: LongArray = LongArray(count)
override fun onClick(v: View?) {
// 将 hits 数组内所有元素左移一个位置
System.arraycopy(hits, 1, hits, 0, hits.size - 1)
// 获取当前系统已经启动的时间
hits[hits.size - 1] = SystemClock.uptimeMillis()
if (hits[0] >= (SystemClock.uptimeMillis() - duration)) {
// 在有效时间内已经连续点击了 count 次,算一次有效点击
onClickValid(v)
// 将所有时间重置
hits.forEachIndexed { index, _ ->
hits[index] = 0
}
}
}
//当连续多次点击有效时回调
abstract fun onClickValid(v: View?)
}
本文标签: Android 多点击监听器
版权声明:本文标题:Android 多点击监听器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747659042a2200018.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论