Kotlin如何防止點選事件重複(Android)

2022-09-01 17:15:29 字數 1197 閱讀 6525

今天就和大家來分享下,利用 kotlin 的拓展函式和拓展屬性解決這種問題

第一步:在 res/values 目錄下建立乙個 ids.xml 的檔案,定義兩個屬性:

<?xml version="1.0" encoding="utf-8"?>

第二步:在專案中,新建乙個 .kt 檔案,新增如下函式:

/**

* get set

* 給view新增乙個上次觸發時間的屬性(用來遮蔽連擊操作)

*/private var t.triggerlasttime: long

get() = if (gettag(r.id.triggerlasttimekey) != null) gettag(r.id.triggerlasttimekey) as long else 0

set(value)

/** * get set

* 給view新增乙個延遲的屬性(用來遮蔽連擊操作)

*/private var t.triggerdelay: long

get() = if (gettag(r.id.triggerdelaykey) != null) gettag(r.id.triggerdelaykey) as long else -1

set(value)

/** * 判斷時間是否滿足再次點選的要求(控制點選)

*/private fun t.clickenable(): boolean

triggerlasttime = currentclicktime

return clickable

}/***

* 帶延遲過濾點選事件的 view 擴充套件

* @param delay long 延遲時間,預設500毫秒

* @param block: (t) -> unit 函式

* @return unit

*/fun t.clickwithtrigger(delay: long = 500, block: (t) -> unit)

}}

最後:**中使用(目前只能在 kotlin **中呼叫)

view.clickwithtrigger (1000)

view.clickwithtrigger

如何禁用 a 標籤的點選事件

1.a標籤要用disable屬性,必須和pointer events屬性一起使用,html a id test 測試 a js test attr disabled true css pointer events none 2.pointer events 屬性詳解 pointer events a...

如何用QTP錄製滑鼠右鍵點選事件

qtp錄製滑鼠右鍵單擊事件要通過模擬鍵盤操作來實現 step 1,修改replaytype為2,一般情況預設設定是1的。1 使用瀏覽器事件執行滑鼠操作。2 使用滑鼠執行滑鼠操作 setting.webpackage replaytype 2 step 2,滑鼠右鍵單擊事件 附 click的事件有三種...

關於前端如何判斷點選前和點選後的事件

最近接手了乙個新專案,專案需要優化。從 優化到有的格式,在開發的過程中有這麼個問題,因為是通過ajax方式提交的,所以每次查詢完姓名以後再次查另外乙個姓名的時候不會跳轉,所以諮詢了一下前端的技術大拿。他推薦使用全域性變數和區域性變數來賦值,並且通過區域性變數和全域性變數的比對判斷是否是改變了查詢條件...