首页 > 程序开发 > 移动开发 > Android >

Android 防止控件被重复点击

2016-06-22

 在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现 而我

 在开发中经常会遇到这样的情况,一个按钮点击后会弹出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
  }
  }
相关文章
最新文章
热点推荐