Android【防抖操作的工具类】

Android【防抖操作的工具类】

防抖

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;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2831.html原文链接:https://javaforall.net

(0)
上一篇 2021年3月12日 下午10:52
下一篇 2021年3月12日 下午10:52


相关推荐

  • Java 程序员们值得一看的好书推荐

    Java 程序员们值得一看的好书推荐“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提

    2022年6月20日
    32
  • 利用R语言画图时添加希腊符号标注

    我们在画图时往往需要添加一些图形标注,例如,x坐标轴的含义,y坐标轴的含义,图例等。标注中的普通的英文符号自不待说,将希腊符号添加在标注中往往是各种画图工具需要特别处理的地方。在LaTeX、Matlab中画出这些希腊符号标注,我已经尝试过,并且使用它们已经有一段日子了,关键是如何R中画出这些希腊符号。R是一个开源的以编程语言方式提供的(本身也称为R语言)可以与其他类似软件相媲美的统计计算软件包

    2022年4月14日
    181
  • MySQL索引的使用实例

    MySQL索引的使用实例前言这是我听老师讲课做的笔记,考试要看的。这是视频地址作者:陈运智关注我的csdn博客,更多Linux笔记知识还在更新本人只在csdn写博客配套这篇文章观看效果更佳MySQL索引的使用实例一.慢查询日志二.查询分析器——explain三.索引的基本使用四.复合索引五.覆盖索引一.慢查询日志//查看是否开启慢查询日志mysql>showvariableslike’%slow%’;//临时开启慢查询日志mysql>setglobalslow_q

    2022年6月24日
    26
  • Strands Agents性能优化:10个提升智能体效率的关键技巧

    Strands Agents性能优化:10个提升智能体效率的关键技巧

    2026年3月16日
    1
  • 正则提取字符串中的数字_正则表达式忽略空格python

    正则提取字符串中的数字_正则表达式忽略空格pythonpython从字符串中提取数字使用正则表达式,用法如下:##总结##^匹配字符串的开始。##$匹配字符串的结尾。##\b匹配一个单词的边界。##\d匹配任意数字。##\D匹配任意非数字字符。##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。##x*匹配0次或者多次x字符。##x+匹配1次或者多次x字符。…

    2022年10月3日
    5
  • 如何准备技术串讲活动_技术准备包括哪些

    如何准备技术串讲活动_技术准备包括哪些如何准备技术串讲?

    2025年6月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号