android屏蔽按鈕連續(xù)點(diǎn)擊的示例代碼
android開發(fā)中,免不了會有很多按鈕的點(diǎn)擊,為防止用戶故意為之,連續(xù)不停的點(diǎn)擊按鈕,造成短時間內(nèi)不必要的請求過多,或者 出現(xiàn)多個跳轉(zhuǎn)頁面的問題,客戶端需要對點(diǎn)擊動作 做屏蔽處理,即屏蔽短時間內(nèi)連續(xù)點(diǎn)擊。(當(dāng)然,這樣也只是盡可能減少上述問題的出現(xiàn),手速夠快的情況下,還是會出現(xiàn))
正確代碼:
abstract class OnMultiClickListener(private val interval: Long = MULTI_CLICK_INTERVAL): View.OnClickListener {
private companion object {
private const val MULTI_CLICK_INTERVAL = 500L
}
private var mLastClickTime = 0L
abstract fun onMultiClick(v: View?)
final override fun onClick(v: View?) {
v.runSafety {
val currentTime = System.currentTimeMillis()
//注意,這里要使用絕對值
if (abs(currentTime - mLastClickTime) < interval) {
mLastClickTime = currentTime //賦值一
return
}
mLastClickTime = currentTime //賦值二
onMultiClick(v)
}
}
}
注意點(diǎn):
1、如果間隔時間設(shè)置過長,可能會造成視覺上點(diǎn)擊卡頓的現(xiàn)象
2、如果修改系統(tǒng)時間,則可能造成時間判斷出問題,進(jìn)而導(dǎo)致按鈕點(diǎn)擊無響應(yīng)。故必須用絕對值進(jìn)行比較。
3、注意兩處賦值位置
到此這篇關(guān)于android屏蔽按鈕連續(xù)點(diǎn)擊的文章就介紹到這了,更多相關(guān)android屏蔽按鈕連續(xù)點(diǎn)擊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android編程獲取系統(tǒng)隱藏服務(wù)實(shí)現(xiàn)鎖屏的方法
這篇文章主要介紹了Android編程獲取系統(tǒng)隱藏服務(wù)實(shí)現(xiàn)鎖屏的方法,涉及Android關(guān)于廣播,服務(wù),權(quán)限及鎖屏等操作的相關(guān)技巧,需要的朋友可以參考下2015-12-12
Android MPAndroidChart開源庫圖表之折線圖的實(shí)例代碼
這篇文章主要介紹了Android MPAndroidChart開源庫圖表之折線圖的實(shí)例代碼,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Android批量插入數(shù)據(jù)到SQLite數(shù)據(jù)庫的方法
這篇文章主要為大家詳細(xì)介紹了Android批量插入數(shù)據(jù)到SQLite數(shù)據(jù)庫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
Android開發(fā)實(shí)現(xiàn)Gallery畫廊效果的方法
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)Gallery畫廊效果的方法,結(jié)合具體實(shí)例形式分析了Android使用Gallery實(shí)現(xiàn)畫廊功能的具體操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-06-06
Flutter實(shí)現(xiàn)倒計(jì)時秒數(shù)轉(zhuǎn)時分秒然后倒計(jì)時功能
有一個需求,需要在頁面進(jìn)行顯示倒計(jì)時,倒計(jì)時結(jié)束后,做相應(yīng)的邏輯處理,這篇文章主要介紹了Flutter實(shí)現(xiàn)倒計(jì)時功能,秒數(shù)轉(zhuǎn)時分秒,然后倒計(jì)時,需要的朋友可以參考下2023-08-08
Flutter開發(fā)Mac桌面應(yīng)用實(shí)現(xiàn)自動提取生成視頻字幕文件
這篇文章主要為大家介紹了Flutter開發(fā)Mac桌面應(yīng)用實(shí)現(xiàn)自動提取生成視頻字幕文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Android中加載網(wǎng)絡(luò)資源時的優(yōu)化可使用(線程+緩存)解決
Android 中加載網(wǎng)絡(luò)資源時的優(yōu)化;基本的思路是線程+緩存來解決,具體解決思路如下,有類似情況的朋友可以參考下哈2013-06-06
android private libraries 中的包源代碼添加方法
這篇文章主要介紹了android private libraries 中的包源代碼添加方法,方法很簡單,看完本文即可學(xué)會,需要的朋友可以參考下2015-05-05
Android實(shí)現(xiàn)socket通信統(tǒng)一接口的方法
這篇文章主要介紹了Android實(shí)現(xiàn)socket通信統(tǒng)一接口?,實(shí)現(xiàn)了統(tǒng)一接口之后確實(shí)可以使后續(xù)修改實(shí)現(xiàn)更加方便,程序結(jié)構(gòu)也更加工程化,需要的朋友可以參考下2021-12-12

