繁体   English   中英

数据绑定-消除onClick的反跳

[英]DataBinding - Debounce onClick not working

我试图防止由于垃圾邮件/快速点击而多次触发onClickListener。

有很多使用RxJava或ButterKnife的DebouncingOnClickListener进行此操作的示例,但是当我试图通过DataBinding实现此行为时-使用自定义BindingAdapter不能使其正常工作:

@BindingAdapter("app:onClickWithDebounce")
fun onClickWithDebounce(view: View, listener: View.OnClickListener) {
    view.setOnClickListener(object : DebouncingOnClickListener() {
        override fun doClick(v: View) {
            listener.onClick(view)
        }
    })
}

这是实现:

<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:onClickWithDebounce="@{() -> callback.onChatClicked(chat)}">

DebouncingOnClickListener完全无效,并且该事件仍被多次触发。

解决此问题的最佳方法是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM