防抖

public class OneClickUtil {    private String methodName;    public static final int MIN_CLICK_DELAY_TIME = 1000;    private long lastClickTime = 0;    public OneClickUtil(String methodName) {        this.methodName = methodName;    }    public String getMethodName() {        return methodName;    }    public boolean check() {        long currentTime = Calendar.getInstance().getTimeInMillis();        if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {            lastClickTime = currentTime;            return false;        } else {            return true;        }    }}

防抖

public class AntiShake {    private List<OneClickUtil> utils = new ArrayList<>();    public boolean check(Object o) {        String flag = null;        if(o == null)            flag = Thread.currentThread().getStackTrace()[2].getMethodName();        else            flag = o.toString();        for (OneClickUtil util : utils) {            if (util.getMethodName().equals(flag)) {                return util.check();            }        }        OneClickUtil clickUtil = new OneClickUtil(flag);        utils.add(clickUtil);        return clickUtil.check();    }    public boolean check() {        return check(null);    }}

注意

(1) 声明 AntiShake util = new AntiShake(); 全局变量
(2) 每个Click方法第一行加入 if (util.check()) return;

更多相关文章

  1. 在Android 7.0上PopupWindow.showAsDropDown不起作用的解决方法
  2. Android --- 图片处理的方法
  3. android剪切圆角图片的方法
  4. android中数据存储的contentprovider的使用方法
  5. 升级android sdk到5.0,创建项目错误解决方法
  6. Android那些疑惑(2)-LayoutInflater中inflate方法参数的意义
  7. android 模拟器获取root权限的方法
  8. 『ANDROID』java 遍历arrayList的四种方法
  9. Android屏蔽home键的代码,咋摁也不响应的方法

随机推荐

  1. 【校招宝典】双非腾讯亲自分享的Android
  2. Android(安卓)12上焕然一新的小组件:美观
  3. 菜鸟多了我们就有价值了,Android开发没前
  4. 都2020年了你居然还学Android?程序员没有
  5. Android(安卓)输入事件一撸到底之源头活
  6. android操作联系人Contacts
  7. 【Unity和Android相互调用】AndroidJavaP
  8. Android(安卓)贝塞尔曲线,撒花了
  9. Android图形显示系统——上层显示1:界面绘
  10. android之检查service运行状态函数