在 BaseActivity 类中引用如下代码即可
private long LAST_CLICK_TIME; // 上一次点击事件
private boolean isFastClick() {
boolean flag = true;
long currentClickTime = System.currentTimeMillis();
// 两次点击间隔不能少于500ms
if ((currentClickTime - LAST_CLICK_TIME) >= 500) {
flag = false;
}
LAST_CLICK_TIME = currentClickTime;
return flag;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
// 判断连续点击事件时间差
if (!allowMultiClick() && isFastClick()) {
return true;
}
}
return super.dispatchTouchEvent(ev);
}
/**
* 是否允许多次点击
*
* @return 默认false,子类可以重写
*/
public boolean allowMultiClick() {
return false;
}