【Android笔记】Android控件防止被重复点击

在开发中经常会遇到这样的情况,一个按钮点击后会弹出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) {    //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  }

 

参考原文:http://www.2cto.com/kf/201211/167196.html

转载于:https://www.cnblogs.com/tanghuian/p/4602365.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值