Android 防止多次重复点击的三种方法的示例

Android 防止多次重复点击的三种方法的示例,第1张

概述在项目中经常会遇到对按钮、自定义控件的Item等防止多次重复点击的问题,下面做一个小结。

在项目中经常会遇到对按钮、自定义控件的 Item 等防止多次重复的点击的问题,下面做一个小结。

方法1:使用 RxJava 的 throttleFirst()

具体代码如下:

  /**   * 防止重复点击   *   * @param target 目标vIEw   * @param Listener 监听器   */  public static voID preventRepeatedClick(final VIEw target,final VIEw.OnClickListener Listener) {    RxVIEw.clicks(target).throttleFirst(1,TimeUnit.SECONDS).subscribe(new Observer<Object>() {      @OverrIDe      public voID onCompleted() {      }      @OverrIDe      public voID onError(Throwable e) {      }      @OverrIDe      public voID onNext(Object object) {        Listener.onClick(target);      }    });  }

上述代码中,利用throttleFirst方法,取1秒内的第一次点击进行响应。

方法2:利用系统时间差

  //全局定义  private long lastClickTime = 0L;  private static final int FAST_CliCK_DELAY_TIME = 500; // 快速点击间隔  //在设置Item的监听时  item.setonItemClickListener(xxx){    if (System.currentTimeMillis() - lastClickTime < FAST_CliCK_DELAY_TIME){      return;    }    lastClickTime = System.currentTimeMillis();    //下面进行其他 *** 作,比如跳转等    XXX  }

该方法主要针对于自定义控件的点击。

方法3:工具类,用于判断是否快速点击

该方法与方法2 的原理类似:

private static final int MIN_DELAY_TIME= 1000; // 两次点击间隔不能少于1000ms  private static long lastClickTime;  public static boolean isFastClick() {    boolean flag = true;    long currentClickTime = System.currentTimeMillis();    if ((currentClickTime - lastClickTime) >= MIN_DELAY_TIME) {      flag = false;    }    lastClickTime = currentClickTime;    return flag;  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

您可能感兴趣的文章:Android 快速实现防止网络重复请求&按钮重复点击的方法Android之有效防止按钮多次重复点击的方法(必看篇)实例详解Android解决按钮重复点击问题 总结

以上是内存溢出为你收集整理的Android 防止多次重复点击的三种方法的示例全部内容,希望文章能够帮你解决Android 防止多次重复点击的三种方法的示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1142801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存