目的:实现防止按钮多次重复点击(规定时间内不允许重复操作)
之前代码如下:
private static long lastTime = 0;
/**
* 间隔多长时间以后才能继续操作
*
* @param time
* @return true:不可操作,reture操作
*/
public static boolean isInterval(int time) {
boolean flag = true;
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastClickTime) >= time) {
flag = false;
}
lastClickTime = curClickTime;
return flag;
}
问题:我们发现不管在不在间隔时间内 我们都进行了时间重置操作
lastClickTime = curClickTime;
这样time时间内,重复点击的话。那样就永远不会往下执行
进行如下修改:
private static long lastTime = 0;
/**
* 间隔多长时间以后才能继续操作
*
* @param time
* @return true:不可操作,reture操作
*/
public static boolean isInterval(int time) {
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastTime) >= time) {
lastTime = curClickTime;
return false;
}
return true;
}