У меня есть два buttons
в моем layout
. Теперь обе кнопки выполняют различную сетевую операцию, используя coroutines
. Проблема в том, что пользователь быстро нажимает на обе кнопки, и в определенный момент все становится грязно. Как я могу поставить немного газа в нажатие обеих кнопок? Приведенный ниже метод работает только для одного view
одновременно.
fun View.setClickListener(debounceTime: Long = CLICK_DEBOUNCE_DURATION, action: () -> Unit) {
this.setOnClickListener(object : View.OnClickListener {
private var lastClickTime: Long = 0
override fun onClick(v: View) {
if (SystemClock.elapsedRealtime() - lastClickTime < debounceTime) return
else action()
lastClickTime = SystemClock.elapsedRealtime()
}
})
}