转载,但原文方法在我项目中使用还是有点小问题,针对我的项目修改了部分
在baseActivity中加入一下代码。
//-----------------------防抖start---------------------------
private long LAST_CLICK_TIME; // 上一次点击时间
private boolean isCanClick = true;
private void isFastClick() {
long currentClickTime = System.currentTimeMillis();
// 两次点击间隔不能少于500ms
isCanClick = (currentClickTime - LAST_CLICK_TIME) >= 500;
LAST_CLICK_TIME = currentClickTime;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
isFastClick();
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if (!isCanClick) {
return true;
}
}
return super.dispatchTouchEvent(ev);
}
//-----------------------防抖end---------------------------