Я хочу создать пользовательский onClickListener
для использования для привязки данных.Этот пользовательский прослушиватель щелчков предотвращает спам пользователя кнопкой и запускает событие дважды (как показ двух диалогов одновременно).Ниже я сделал пользовательский слушатель, который работает в обычном коде, но я не знаю, как реализовать его для привязки данных, как android:onClick=""
в xml.
abstract class OneClickListener(var delay: Long) : View.OnClickListener {
private var hasClicked: Boolean = true
constructor() : this(1000)
override fun onClick(it: View) {
if (!hasClicked) {
return
} else {
hasClicked = false
onClicked(it)
GlobalScope.launch {
delay(delay)
hasClicked = true
}
}
}
abstract fun onClicked(it: View)
}
IsМожно ли использовать этот список в привязке данных, как, например, app:OneClickListener="@{viewModel::MyMethod}"
в XML?и если да, подскажите, пожалуйста, как?