android屏蔽按鈕連續(xù)點(diǎn)擊的示例代碼
android開發(fā)中,免不了會(huì)有很多按鈕的點(diǎn)擊,為防止用戶故意為之,連續(xù)不停的點(diǎn)擊按鈕,造成短時(shí)間內(nèi)不必要的請求過多,或者 出現(xiàn)多個(gè)跳轉(zhuǎn)頁面的問題,客戶端需要對點(diǎn)擊動(dòng)作 做屏蔽處理,即屏蔽短時(shí)間內(nèi)連續(xù)點(diǎn)擊。(當(dāng)然,這樣也只是盡可能減少上述問題的出現(xiàn),手速夠快的情況下,還是會(huì)出現(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í)間設(shè)置過長,可能會(huì)造成視覺上點(diǎn)擊卡頓的現(xiàn)象
2、如果修改系統(tǒng)時(shí)間,則可能造成時(shí)間判斷出問題,進(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)文章
關(guān)于Android中Gradle和jar包下載慢的問題及解決方法
這篇文章主要介紹了解決Android中Gradle和jar包下載慢的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10TextInputLayout輸入框控件的懸浮標(biāo)簽
這篇文章主要為大家詳細(xì)介紹了TextInputLayout輸入框控件的懸浮標(biāo)簽,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android NotificationManager簡單使用詳解
這篇文章主要為大家詳細(xì)介紹了Android NotificationManager的簡單使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11android實(shí)現(xiàn)自動(dòng)關(guān)機(jī)的具體方法
android實(shí)現(xiàn)自動(dòng)關(guān)機(jī)的具體方法,需要的朋友可以參考一下2013-06-06Android開發(fā)之獲取單選與復(fù)選框的值操作示例
這篇文章主要介紹了Android開發(fā)之獲取單選與復(fù)選框的值操作,結(jié)合實(shí)例形式分析了Android針對單選按鈕、復(fù)選框的事件響應(yīng)、數(shù)值獲取等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04利用Kotlin開發(fā)你的第一個(gè)Android應(yīng)用
Kotlin最近真的是大熱啊,所以下面這篇文章主要給大家介紹了關(guān)于利用Kotlin開發(fā)你的第一個(gè)Android應(yīng)用的相關(guān)資料,文中將實(shí)現(xiàn)的步驟介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-10-10使用RecyclerView添加Header和Footer的方法
RecyclerView雖然作為ListView的替代者有著較好的性能提升,但是ListView的一些常用功能卻沒有提供,比如我們平時(shí)會(huì)經(jīng)常用到的addHeaderView,addFooterView,既然RecyclerView沒有提供這個(gè)方法,我們應(yīng)該如何為列表添加頭部和底部呢,接下來通過本文給大家介紹2016-03-03