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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • error LNK2019: 无法解析的外部符号_error lnk2019无法解析的外部符号

    error LNK2019: 无法解析的外部符号_error lnk2019无法解析的外部符号废话不多说,直接上错误图片原本是生成一个静态链接库,然后在主函数中进行库函数的调用,编写静态库时,没存在此问题,在主函数中一调用就报错。添加库连接,附加依赖项——也无法彻底解决此问题。原来是从VisualStudio2010开始,VisualStudio要求项目到项目引用。如果你的项目没有项目到项目引用,那么你可能收到此链接器错误。添加项目到项目引用以修复此错误。…

    2022年9月28日
    3
  • 基于Packet Tracer的校园网络设计与规划「建议收藏」

    基于Packet Tracer的校园网络设计与规划「建议收藏」本文仅仅为本人课程要求而设计的方案,本文仅仅使用RIP动态路由协议,HSRP协议,浮动路由,静态路由,等价路由,DHCP地址分配,NAT技术,VLAN划分。如有问题请大佬们在本博客下留言。一、设计要求模拟设计并实现校园网规划,完成拓扑结构设计、IP地址规划、路由协议、网络管理规划、安全管理规划,用软件模拟器实现此规划。选取设备和协议根据你对校园网的了解和调研情况确定,也可以进行适当程度的假设…

    2022年10月5日
    2
  • numpy.meshgrid()理解

    numpy.meshgrid()理解一句话解释numpy.meshgrid()——生成网格点坐标矩阵。关键词:网格点,坐标矩阵网格点是什么?坐标矩阵又是什么鬼?我先问个问题:这张图你会生成吗?…

    2022年4月27日
    57
  • Python漫画下载器「建议收藏」

    Python漫画下载器「建议收藏」“并不是所有数据都应该被获取。”——弗罗指令,53.12很多漫画找不到下载资源了(可能被亚空间吞没了吧),无奈只能从漫画网站上扒了。但一页一页右键保存太浪费资源与时间了,所以写了个Py爬虫扒图片吧~~赞美虚空龙,额,我是说万机神~#coding:utf-8#!/usr/bin/envpython3#=========================================================##漫画下载##================..

    2022年6月15日
    31
  • 把AutoEventWireup属性关闭

    把AutoEventWireup属性关闭1、关于AutoEventWireup属性的作用:,自动关联页面的Page_Load、Page_Init事件,好处就是不用再多写委托代码或重载代码了啦,坏处就是性能(听说的)和不直观性(影响菜鸟升级,“没见到事件关联它为什么会执行这段代码呢?”)。2、删除:(1)、在aspx页面一个个将“AutoEventWireup=true”改为“AutoEventWireup=false”了

    2022年5月28日
    35
  • DB2错误代码_db2错误码57016

    DB2错误代码_db2错误码570161前言作为一个程序员,数据库是我们必须掌握的知识,经常操作数据库不可避免,but,在写SQL语句的时候,难免遇到各种问题。例如,当咱们看着数据库报出的一大堆错误代码时,是否有种两眼发蒙的感觉呢?咳咳,莫要否认,你有、我有,全都有啊!不过,值得庆幸的是,已经有人帮咱们整理出一份关于DB2的错误代码大全啦,以后再遇到数据库报错,直接拎出看看,岂不爽哉?当然,在此对原作者送上万分的感谢。2错误

    2022年9月17日
    5

发表回复

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

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