RxView可以做防抖功能
//多次點(diǎn)擊只產(chǎn)生一次請求,防抖動
RxView.clicks(btn_order_pay)
.throttleFirst(1, TimeUnit.SECONDS)
.subscribe {
val param = PayParam()
param.apply {
orderSeq = mOrderSeq
refundChangeTotalFee = refundChangeTotalFee
}
mViewModel.payRefundChangeFee(param)
}
點(diǎn)擊事件計時防抖
/**
* @name: GPS Camera
* @author: TysonWu
* @time: 2023/2/22 15:41
* @version:
* @description:點(diǎn)擊事件防抖工具類
*/
public class AntiShakeUtils {
private static final long COLD_TIME_CLICK = 1000L;
private static final long COLD_TIME_LONG_CLICK = 1500L;
private static long sLastResponseClick = 0;
public static boolean canResponseClick() {
long currentTime = SystemClock.elapsedRealtime();
return (currentTime - sLastResponseClick) >= COLD_TIME_CLICK;
}
public static void updateLastClickTime() {
sLastResponseClick = SystemClock.elapsedRealtime();
}
public static boolean canResponseLongClick() {
long currentTime = SystemClock.elapsedRealtime();
return (currentTime - sLastResponseClick) >= COLD_TIME_LONG_CLICK;
}
}
使用
if (!AntiShakeUtils.canResponseClick()) {
return
} else {
AntiShakeUtils.updateLastClickTime()
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。