zoukankan      html  css  js  c++  java
  • 避免快速点击带来的重复点击

    在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.

     解决的思路如下:   

    1. 需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.   

    2. 每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件   

    下面请看代码:

    public class CommonUtils {
        private static long lastClickTime;
        public static boolean isFastDoubleClick() {
            long time = System.currentTimeMillis();
            long timeD = time - lastClickTime;
            if ( 0 < timeD && timeD < 800) {   
                return true;   
            }   
            lastClickTime = time;   
            return false;   
        }
    }

    控件点击的处理:

    public void onClick(View v) {  
        if (Utils.isFastDoubleClick()) {  
            return;  
        }else{
            //弹出Toast或者Dialog
       }
     }  
  • 相关阅读:
    静态方法、类方法、属性方法
    B-tree/B+tree
    支付宝
    七牛云上传视频3
    测试理论
    测试理论
    Xshell上传文件
    iptables增加、删除、修改、查询、保存防火墙策略教程
    docker私有仓库常用命令
    centos7修改主机名
  • 原文地址:https://www.cnblogs.com/laoyimou/p/8304080.html
Copyright © 2011-2022 走看看