优雅的多击事件处理
来源:互联网 发布:钢材进销存软件免费版 编辑:程序博客网 时间:2024/06/05 02:22
通过数组移位的方式来记录每次点击目标控件的时间(距离系统开机的时间),然后取数组0索引位置的时间与当前系统的开机时间减去某个时间戳做对比,如果大于该相减的结果,则完成了该多击事件.
代码非常简单,以3击事件为例
long[] mHits = new long[3];//3击事件,数组长度为3,n击事件则长度为nview.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //每次点击都左移一次该数组mHits System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1); //数组位移后,在最后一个位置记录该次点击的最新开机时间 mHits[mHits.length - 1] = SystemClock.uptimeMillis(); //取数组的第0个下标记录的时间值去判断,因为0索引的位置是相对最早的单击时间 if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) { // 3击中了,这里写处理3击事件的逻辑 } }});
看到没,代码非常简单,短短几行就可以实现3击事件了,如果要实现更多的点击事件,如n击事件,只需要将数组的长度设置为n就ok了.其他代码都无需改动.就是这么优雅.
0 0
- 优雅的多击事件处理
- Android技能杂谈——如何优雅的处理控件的点击事件
- 使用AmplifyJS和JQuery编写更好更优雅的javascript事件处理代码
- Java异常处理--更优雅的处理
- 如何优雅地在React中处理事件响应
- 如何优雅的处理异常(java)
- 论如何优雅的处理回文串
- Java_exception_如何优雅的处理异常
- 优雅的处理Android崩溃(一)
- 优雅的处理Android崩溃(二)
- 为RecyclerView添加优雅的点击事件、长按事件
- Rxjava+Retrofit嵌套处理请求,并优雅的处理异常
- Android-多击事件处理
- 优雅处理段错误
- 如何优雅的处理 Promise 的 if-else 分支
- C语言中一种更优雅的异常处理机制
- 转贴 C语言中一种优雅的异常处理机制
- C语言中一种优雅的异常处理机制
- 【文本】数据格式——JSON
- Android常用动画总结
- HTTP
- notepad背景颜色设置
- 谷歌地球API开发者指南(高级)
- 优雅的多击事件处理
- 一个很好的解释阻塞赋值与非阻塞赋值的例子
- mysql 分区
- 数据库编码
- 获取sim的序列号
- 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
- windows下sc create命令行添加/创建/修改服务
- opencv读取图像
- 100天土鸡饲养计划(35)