代码来源:https://blog.csdn.net/lvxiangan/article/details/82854367
方法1:利用工具类实现,在按钮的onClick事件加入判断
private static final int MIN_DELAY_TIME= 1000; // 两次点击间隔不能少于1000ms private static long lastClickTime; public static boolean isFastClick() { boolean flag = true; long currentClickTime = System.currentTimeMillis(); if ((currentClickTime - lastClickTime) >= MIN_DELAY_TIME) { flag = false; } lastClickTime = currentClickTime; return flag; }方法2:对Activity基类进行事件拦截,在BaseActivity中重写 dispatchTouchEvent方法:
@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN){ // 判断连续点击事件时间差 if (Utils.isFastClick()){ return true; } } return super.dispatchTouchEvent(ev);