防抖

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中数据存储的contentprovider的使用方法
  2. android获取versionName和versionCode
  3. android 调用webservice
  4. 三步搞定:Vue.js调用Android原生操作
  5. Android(安卓)--- 图片处理的方法
  6. Android窗口机制(一)——Window,PhoneWindow,DecorView理解
  7. 在Android(安卓)7.0上PopupWindow.showAsDropDown不起作用的解决
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android中使用HttpURLConnection和HttpCl
  2. android学习笔记16:带提示的输入框
  3. 2014.02.11 ——— android volley 打包
  4. 使用命令建立简单的布局
  5. XMPP android 相关收集
  6. android.view.InflateException: Binary
  7. android界面模糊到清晰,效果去除
  8. Android Universal Image Loader 源码分
  9. Android中ListView的addFooterView不显示
  10. getprop 获取android系统属性