分享一个按钮快速点击多次响应点击时间的工具类如下:
public class OnClickUtil {
/**
* 最小允许间隔,低于则无法生效
*/
private static final long INTERVAL = 500;
/**
* 上次点击时间点
*/
private static long lastTime;
/**
* 是否点击过快
*
* @return
*/
public static boolean isTooFast() {
long nowTime = System.currentTimeMillis();
long interval = nowTime - lastTime;
if (interval > 0 && interval < INTERVAL) {
return true;
}
lastTime = System.currentTimeMillis();
return false;
}
public static boolean isTooFast(long INTERVAL) {
long nowTime = System.currentTimeMillis();
long interval = nowTime - lastTime;
if (interval > 0 && interval < INTERVAL) {
return true;
}
lastTime = System.currentTimeMillis();
return false;
}
public static boolean isTooFast(int OWN_INTERVAL) {
long nowTime = System.currentTimeMillis();
long interval = nowTime - lastTime;
if (interval > 0 && interval < OWN_INTERVAL) {
return true;
}
lastTime = System.currentTimeMillis();
return false;
}
}
- 默认500毫秒
- 支持自定义时间间隔
- 使用超级方便,原理也简单就是获取系统时间然后根据两次时间差
- 使用如下
@Override
public void onClick(View view) {
if (OnClickUtil.isTooFast()) return;//在onclock中直接判断然后return
switch (view.getId()) {
}