Android实现多次点击监听事件!(4次为例)
2018-03-23 09:42
267 查看
原理:
final long[] mHints = new long[4]; public void onClick(View v) {
// 将mHints数组内的所有元素左移一个位置
System.arraycopy(mHints, 1, mHints, 0, mHints.length - 1);
//获得当前系统已经启动的时间
mHints[mHints.length - 1] = SystemClock.uptimeMillis();
if (SystemClock.uptimeMillis() - mHints[0] <= 500) {
//你的具体操作
}
}
});原理:
1:定义一个数组,几击就定义数组长度为几。
2:开始数组每个元素都是默认的0,点击一下后,把数组的每个元素都向前copy一位,把当前点击的时间放入数组最后一位。
最终判断4次连击后的当前时间-首位数组时间间隔小于500毫秒就算是4次连击成功!
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是:
public static void (Object src, int srcPos, Object dest, int destPos, int length)
src:源数组; srcPos:源数组要复制的起始位置;dest:目的数组; destPos:目的数组放置的起始位置; length:复制的长度。eg:int[] arr=new int[6];arr={1,2,3,4,5,6}执行System.arraycopy(arr,2,arr,3,3)此时arr变为12 // 四次点击事件
final long[] mHints = new long[4]; public void onClick(View v) {
// 将mHints数组内的所有元素左移一个位置
System.arraycopy(mHints, 1, mHints, 0, mHints.length - 1);
//获得当前系统已经启动的时间
mHints[mHints.length - 1] = SystemClock.uptimeMillis();
if (SystemClock.uptimeMillis() - mHints[0] <= 500) {
//你的具体操作
}
}
});原理:
1:定义一个数组,几击就定义数组长度为几。
2:开始数组每个元素都是默认的0,点击一下后,把数组的每个元素都向前copy一位,把当前点击的时间放入数组最后一位。
最终判断4次连击后的当前时间-首位数组时间间隔小于500毫秒就算是4次连击成功!
相关文章推荐
- android中listview点击事件的监听实现
- android的多次点击事件的实现(有源码)
- android之实现各个组件点击事件监听
- Android 连续多次点击事件的实现
- Android自学小疑问、小知识点之 监听事件通过接口方式 多次实现监听器
- Android实战简易教程<十五>(实现ListView中Button点击事件监听)
- android之实现各个组件点击事件监听
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)
- android基础之如何实现触屏监听和鼠标点击事件
- android之实现各个组件点击事件监听
- Android开发——利用ViewPager实现显示多个item无限轮播+点击事件监听
- 防止Android点击按钮过快造成多次事件实现原理
- Android多次点击事件的监听和处理
- android中多次点击事件的实现
- Android开发之源码:多次点击事件的原理和实现
- RXview实现多次点击事件的监听
- android实现可自由移动、监听点击事件的悬浮窗
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
- Android开发之实现多次点击事件
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)