Files
yusheng-android/BaseModule/src/main/java/com/xscm/moduleutil/utils/ClickUtils.java

35 lines
1.0 KiB
Java
Raw Normal View History

2025-10-24 17:55:15 +08:00
package com.xscm.moduleutil.utils;
import android.os.SystemClock;
import android.util.SparseArray;
import android.view.View;
2025-10-24 17:55:15 +08:00
/**
*@author qx
*@data 2025/9/10
*@description: 防止重复点击的工具类
*/
public class ClickUtils {
private static final long DEFAULT_CLICK_INTERVAL = 500;
private static final SparseArray<Long> lastClickTimes = new SparseArray<>();
public static boolean isFastDoubleClick(View view) {
return isFastDoubleClick(view, DEFAULT_CLICK_INTERVAL);
}
2025-10-24 17:55:15 +08:00
public static boolean isFastDoubleClick(View view, long interval) {
long currentTime = SystemClock.elapsedRealtime();
int viewId = view.getId();
Long lastClickTime = lastClickTimes.get(viewId);
if (lastClickTime != null && currentTime - lastClickTime < interval) {
2025-10-24 17:55:15 +08:00
return true;
}
lastClickTimes.put(viewId, currentTime);
2025-10-24 17:55:15 +08:00
return false;
}
// 新增:清理所有点击记录
public static void clearAllClickRecords() {
lastClickTimes.clear();
}
}