iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android之有效防止按钮多次重复点击的方法(必看篇)
  • 725
分享到

Android之有效防止按钮多次重复点击的方法(必看篇)

方法按钮Android 2022-06-06 01:06:44 725人浏览 薄情痞子
摘要

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

为了防止测试妹子或者用户频繁点击某个按钮,导致程序在短时间内进行多次数据提交or数据处理,那到时候就比较坑了~

那么如何有效避免这种情况的发生呢?

我的想法是,判断用户点击按钮间隔时间,如果间隔时间太短,则认为是无效操作,否则进行相关业务处理

首先将这块提取为工具类(方便接下来的调用),现在就起名为:ButtonUtils


public class ButtonUtils {
  private static long lastClickTime = 0;
  private static long DIFF = 1000;
  private static int lastButtonId = -1;
  
  public static boolean isFastDoubleClick() {
    return isFastDoubleClick(-1, DIFF);
  }
  
  public static boolean isFastDoubleClick(int buttonId) {
    return isFastDoubleClick(buttonId, DIFF);
  }
  
  public static boolean isFastDoubleClick(int buttonId, long diff) {
    long time = System.currentTimeMillis();
    long timeD = time - lastClickTime;
    if (lastButtonId == buttonId && lastClickTime > 0 && timeD < diff) {
      Log.v("isFastDoubleClick", "短时间内按钮多次触发");
      return true;
    }
    lastClickTime = time;
    lastButtonId = buttonId;
    return false;
  }  
}

我们通过判断俩次点击时间间隔去判定当前点击操作是否为有效操作。那么如何在使用中调用呢?继续往下看。。。


gv_isf.setOnItemClickListener(new OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
          long arg3) {
        if (!ButtonUtils.isFastDoubleClick(R.id.gv_integralstore)) {
          //写你相关操作即可
        }
      }
    });

!ButtonUtils.isFastDoubleClick(R.id.gv_integralstore):这块是关键。我的想法就是在单击事件中进行判断,看看当前的点击事件是否为有效点击事件

好了,一个简单又实用的防止按钮多次重复点击的工具类就搞定了。。。

以上这篇Android之有效防止按钮多次重复点击的方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。

您可能感兴趣的文章:Android中父View和子view的点击事件处理问题探讨Android 自定义view模板并实现点击事件的回调实例详解Android解决按钮重复点击问题Android 快速实现防止网络重复请求&按钮重复点击的方法Android 防止多次重复点击的三种方法的示例Android防止按钮重复点击示例代码Android优雅地处理按钮重复点击的几种方法Android中如何优雅的处理重复点击实例代码Android中aop的应用实践之过滤重复点击Android开发教程之如何屏蔽View的重复点击


--结束END--

本文标题: Android之有效防止按钮多次重复点击的方法(必看篇)

本文链接: https://www.lsjlt.com/news/21825.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作