Android 防止控件被重复点击

原创 2013年12月04日 22:51:19

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


解决的思路如下:

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

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

 注:其实用时间去判断重复点击,更多的是防止短时间大量重复或者也可是说是无效的操作, 而间隔时间要根据具体项目中需求情况而定. 这里其实还有一种更好的做法,就是利用java中的信号量Semaphore,以后有时间我会介绍这种方法.

下面请看代码:

工具类:

  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) {     
  1. public void onClick(View v) {    
  2.     if (Utils.isFastDoubleClick()) {    
  3.         return;    
  4.     }else{  
  5.         //弹出Toast或者Dialog  
  6.    }  
  7.  }  </pre><br>  
  8. 这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.


http://blog.csdn.net/t12x3456/article/details/8164237

Android 防止控件被重复点击

在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击...
  • t12x3456
  • t12x3456
  • 2012年11月09日 08:51
  • 17114

Android之有效防止按钮多次重复点击

为了防止测试妹子或者用户频繁点击某个按钮,导致程序在短时间内进行多次数据提交or数据处理,那到时候就比较坑了~那么如何有效避免这种情况的发生呢? 我的想法是,判断用户点击按钮间隔时间,如果间隔时间太...

Android 防止短时间内重复点击技巧

在Android开发中,当完成一款软件时,测试人员会对软件进行测试,本来可以正常运行的软件在测试人员里就可以出现意想不到的bug,其中一个比较常见的问题就是短时间内重复点击一个按钮,本来正常点击只执行...

Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)

核心代码如下: MainActivity.java package com.example.lession05_dbs; import java.util.List; import andro...

防止NET按钮重复点击方法

  • 2012年09月04日 16:29
  • 1KB
  • 下载

Android控件点击变色

  • 2014年01月24日 13:07
  • 969KB
  • 下载

android webview中上传控件点击无效的解决办法

一、介绍 当我们在使用webview控件打开一个web网页时,如果we页面中带有的控件,在webview中能正常显示这个上传控件,但是你会发现无论你如何点击都无效果,这个是很让人恼火的,一时也不知道...

防止重复点击的Button按钮

  • 2008年11月02日 14:49
  • 10KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 防止控件被重复点击
举报原因:
原因补充:

(最多只允许输入30个字)