所以我有一個關聯OnClickListener的按鈕。每次點擊按鈕,我都想執行一些發送網絡請求的代碼。但是,如果用戶快速點擊三次按鈕,我的代碼會執行三次。我試圖找到一種方法,可以在某種程度上檢查我只發送網絡請求的位置,例如,如果第二秒沒有接下來的敲擊,就會發送。防止onClick偵聽器的快速觸發器
有關我如何實現這一目標的任何建議?該按鈕位於RecylerView項中,因此該邏輯在適配器中實現。
所以我有一個關聯OnClickListener的按鈕。每次點擊按鈕,我都想執行一些發送網絡請求的代碼。但是,如果用戶快速點擊三次按鈕,我的代碼會執行三次。我試圖找到一種方法,可以在某種程度上檢查我只發送網絡請求的位置,例如,如果第二秒沒有接下來的敲擊,就會發送。防止onClick偵聽器的快速觸發器
有關我如何實現這一目標的任何建議?該按鈕位於RecylerView項中,因此該邏輯在適配器中實現。
您可以將系統毫秒函數中的毫秒保存在變量中。無論何時點擊,您都可以看到它是否足夠長,將變量更改爲當前值。否則,敬酒。僞代碼示例:
int millisecond = 0
onButtonClicked{
currentmilliseconds - milliseconds is less than given time in milliseconds, give toast
else, run network code & millisecond = current millisecond
}
您可以在網絡請求完成之前禁用該按鈕嗎?或者忽略點擊直至完成? – Cheticamp
好主意,但不知道如何實現,只要onClickListener住在視圖的持有人適配器。 – ardevd
也許你可以忽略後續的請求,如果一個已經在運行 –