1、ClickUtil 工具类
public class ClickUtil {
// 两次点击按钮之间的点击间隔不能少于1000 毫秒
private static final int MIN_CLICK_DELAY_TIME = 1000;
private static long lastClickTime;
// 返回 true 为点击,false 为快速点击
public static boolean isFastClick() {
boolean flag = false;
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
flag = true;
}
lastClickTime = curClickTime;
return flag;
}
}
2、OnMultiClickListener 抽象类
public abstract class OnMultiClickListener implements View.OnClickListener{
// 两次点击按钮之间的点击间隔不能少于1000毫秒
private static final int MIN_CLICK_DELAY_TIME = 1000;
private static long lastClickTime;
public abstract void onMultiClick(View v);
@Override
public void onClick(View v) {
long curClickTime = System.currentTimeMillis();
if((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
// 超过点击间隔后再将lastClickTime重置为当前点击时间
lastClickTime = curClickTime;
onMultiClick(v);
}
}
}
findViewById(R.id.btn_click_more).setOnClickListener(new OnMultiClickListener() {
@Override
public void onMultiClick(View v) {
// 进行点击事件后的逻辑操作
}
});