Android按钮防抖动,避免发送多次请求

简介: Android按钮防抖动,避免发送多次请求

Util代码(复制即用)

package top.gaojc.util;

public class ButtonClickUtils {

    private static long lastClickTime;//记录最近一次点击时间
    private static long interval = 1000;//间隔为1秒
    private static int lastButtonId;//存放最近一次传入的按钮id

  // 如果需要不同的间隔时间,直接调用这个方法设置所需间隔毫秒数即可
    public static void setInterval(long interval) {
        ButtonClickUtils.interval = interval;
    }

  // 不需要传入任何参数 直接在点击事件下调用此方法即可
    public static boolean isFastClick() {
        if (System.currentTimeMillis() - lastClickTime < interval) {
            return true;
        }
        lastClickTime = System.currentTimeMillis();
        return false;
    }

  // 需要传入ButtonId
    public static boolean isFastClick(int buttonId) {
        if (lastButtonId == buttonId && System.currentTimeMillis() - lastClickTime < interval) {
            return true;
        }
        lastClickTime = System.currentTimeMillis();
        lastButtonId = buttonId;
        return false;
    }
}

使用用例

  findViewById(R.id.submitButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              // 防止重复点击
                if (ButtonClickUtils.isFastClick()) {
                    return;
                }
                // 后续操作
                EventBus.getDefault().post(new RegisterEvent());
            }
        });
目录
相关文章
|
4天前
|
安全 Android开发
Android之OKHttp基本使用和OKHttp发送https请求安全认证
Android之OKHttp基本使用和OKHttp发送https请求安全认证
15 0
|
6天前
|
API Apache Android开发
对于Android的http请求的容错管理
对于Android的http请求的容错管理
|
6天前
|
调度 Android开发
Android9底部导航栏出现空白按钮问题分析
Android9底部导航栏出现空白按钮问题分析
15 0
|
6天前
|
存储 Android开发
Android 解决USB TP驱动中触摸卡顿和防抖动问题
Android 解决USB TP驱动中触摸卡顿和防抖动问题
27 1
|
6天前
|
Java Android开发
Android Mediatek 禁用 USB 权限请求和声音提示 & 解决USB HID设备不识别问题(附带USB调试过程)
Android Mediatek 禁用 USB 权限请求和声音提示 & 解决USB HID设备不识别问题(附带USB调试过程)
15 0
|
6天前
|
XML Java Android开发
Android Studio App开发之实现底部标签栏BottomNavigationView和自定义标签按钮实战(附源码 超详细必看)
Android Studio App开发之实现底部标签栏BottomNavigationView和自定义标签按钮实战(附源码 超详细必看)
93 0
|
6天前
|
安全 Android开发 数据安全/隐私保护
Android中的动态权限请求与最佳实践
【4月更文挑战第14天】 在现代安卓应用开发中,用户隐私和安全被赋予了前所未有的重要性。随着Android 6.0(API级别23)引入的运行时权限模型,开发者必须更加细致地处理权限请求,以确保应用功能的完整性同时不侵犯用户的隐私。本文将深入探讨如何在Android应用中实现动态权限请求,分析常见问题,并提供一系列最佳实践,以帮助开发者优雅地处理这一挑战。
39 5
|
6天前
|
JSON 安全 Java
Android网络部分-----网络数据请求、解析
Android网络部分-----网络数据请求、解析
Android网络部分-----网络数据请求、解析
|
6天前
|
存储 安全 Android开发
Android 动态权限请求的设计与实现
【4月更文挑战第6天】在现代安卓应用开发中,用户隐私和安全性日益受到重视。因此,操作系统引入了动态权限请求机制,要求应用在运行时请求特定权限而非安装时一次性获取所有权限。本文将详细探讨Android动态权限请求的关键概念、设计原则以及实现过程,旨在帮助开发者构建更加安全且用户体验友好的应用。通过深入分析Android系统权限模型及其演变,我们将展示如何在实际项目中有效地实施动态权限请求,并处理可能遇到的挑战。
33 0
|
6天前
|
安全 API Android开发
Android应用开发中实现动态权限请求的实践指南
【4月更文挑战第5天】 在现代安卓应用开发中,用户隐私和安全日益受到重视。自Android 6.0(API级别23)起,系统引入了动态权限模型,要求应用在运行时而非安装时请求特定权限。这一变化迫使开发者调整权限请求策略,以增强用户信任并确保应用的正常运行。本文将深入探讨如何在Android应用中有效实施动态权限请求,提供一套详细的实践流程,并通过代码示例阐释关键步骤。我们将讨论如何判断权限的必要性、向用户发起请求的最佳时机以及如何处理用户的授权结果。