Android 防止重复点击

1.第一种方式:

private static final int MIN_DELAY_TIME = 2000; // 两次点击间隔不能少于2000ms

private static long lastClickTime = System.currentTimeMillis();

public static boolean isFastClick() {

boolean flag = true;

long currentClickTime = System.currentTimeMillis();

if ((currentClickTime - lastClickTime) <= MIN_DELAY_TIME) {

flag = false;

}

lastClickTime = currentClickTime;

return flag;

}

使用如下:

if (isFastClick()){

//判断重复点击 true

}else{

//不是重复点击 false

}

第2种方式:

复制代码
private long oldClickTime = 0;
long clickTime = System.currentTimeMillis();
if (clickTime - oldClickTime < 800) return;
oldClickTime = clickTime;

使用如下:

第3种方式:

复制代码
private static final int MIN_DELAY_TIME = 500; // 两次点击间隔
private static long lastClickTime = 0L;

public static boolean isFastClick() {
    boolean flag = true;
    long currentClickTime = System.currentTimeMillis();
    if ((currentClickTime - lastClickTime) >= MIN_DELAY_TIME) {
        flag = false;
    }
    lastClickTime = currentClickTime;
    return flag;
}

使用如下:

复制代码
if (isFastClick()) {
    Log.d(TAG, "onClick");
    return;
}

Android中防止重复点击的小技巧_android 防重复点击-CSDN博客

相关推荐
执明wa5 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder5 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农5 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
用户69371750013846 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
GitLqr6 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
sg_knight6 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
爱笑鱼6 小时前
Binder(四):ioctl(BINDER_WRITE_READ) 之后,事务怎样到达目标进程?
android
AFinalStone7 小时前
Android 7系统休眠唤醒(二)开机全链路—BootROM到Launcher
android·电源管理·休眠唤醒
Mr YiRan7 小时前
Android NDK开发之统计到未被回收的图片
android