在项目中很多时候用到防抖,例如当连续点击的时候起了多个Activity等.
话不多说,直接上代码
public class AntiShakeUtils {private static final long COLD_TIME_CLICK = 500L;private static final long COLD_TIME_LONG_CLICK = 1500L;private static long sLastResponseClick = 0;public static boolean canResponseClick() {long currentTime = SystemClock.elapsedRealtime();return (currentTime - sLastResponseClick) >= COLD_TIME_CLICK;}public static void updateLastClickTime() {sLastResponseClick = SystemClock.elapsedRealtime();}public static boolean canResponseLongClick() {long currentTime = SystemClock.elapsedRealtime();return (currentTime - sLastResponseClick) >= COLD_TIME_LONG_CLICK;}
}
使用方式:再需要的地方执行下面代码就添加好防抖拉。
if (!AntiShakeUtils.canResponseClick()) {return;
} else {AntiShakeUtils.updateLastClickTime();
}