35 lines
1.0 KiB
Java
35 lines
1.0 KiB
Java
package com.xscm.moduleutil.utils;
|
|
|
|
import android.os.SystemClock;
|
|
import android.util.SparseArray;
|
|
import android.view.View;
|
|
|
|
/**
|
|
*@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);
|
|
}
|
|
|
|
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) {
|
|
return true;
|
|
}
|
|
lastClickTimes.put(viewId, currentTime);
|
|
return false;
|
|
}
|
|
|
|
// 新增:清理所有点击记录
|
|
public static void clearAllClickRecords() {
|
|
lastClickTimes.clear();
|
|
}
|
|
} |