zoukankan      html  css  js  c++  java
  • Android 防止控件被重复点击

    由于手机反应慢还是神马原因,用户对一个button 可快速的多次点击。那么 可能出现问题: 比如 多次提交数据...

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

     

    解决的思路如下:

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

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

     1 public class CommonUtils {
     2     private static long lastClickTime;
     3     public static boolean isFastDoubleClick() {
     4         long time = System.currentTimeMillis();
     5         long timeD = time - lastClickTime;
     6         if ( 0 < timeD && timeD < 800) {   
     7             return true;   
     8         }   
     9         lastClickTime = time;   
    10         return false;   
    11     }
    12 }
    1 public void onClick(View v) {  
    2     if (Utils.isFastDoubleClick()) {  
    3         return;  
    4     }else{
    5         //弹出Toast或者Dialog
    6    }
    7 &nbsp;}  

    这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.

  • 相关阅读:
    sql_mode=only_full_group_by引起group by查询报错问题
    在Eclipse下使用ant,build项目报jpeg does not exist
    JAVAEE面试之Hibernate缓存
    页面加载中效果实现
    鼠标滑过显示图片
    VSFTP配置参数详解
    FTP上传核心方法
    java对File的特殊操作
    在mybatis下使用日期比对出错
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/androidsj/p/4417483.html
Copyright © 2011-2022 走看看