Android中文API
安卓中文官网(android中文官网)-Android Studio Android sdk Android sdk下载 Android api
当前位置: 主页 > Android开发文档 >

Android 防止控件被重复点击

时间:2017-08-03 11:45来源:未知 作者:卓一哥 点击:
在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速
在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.
  解决的思路如下:
  1. 需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.
  2. 每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件
  下面请看代码:
  工具类:

[代码]java代码:

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;   
    }
}
控件点击的处理:

[代码]java代码:

public void onClick(View v) {  
    if (Utils.isFastDoubleClick()) {  
        return;  
    }else{
        //弹出Toast或者Dialog
   }
 }  
这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.

(责任编辑:卓一哥)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容