Android 哪个属性设置为绑定 onScrollChanged()

Android which attribute set to binding onScrollChanged()

我想在绑定视图时执行onScrollChangeListner。但我不知道哪个属性设置为 Android:.... 在布局中。

我创建了水平滚动视图,编写了 onScrollChangeListner,接下来我将这个视图添加到绑定中。在我添加view绑定之前,scrollview有execute listener,我看到了他的变化。也许我必须将此侦听器添加到布局中?但是我不知道怎么办。

class中的代码:

HorizontalScrollView horizontalScrollView = view.findViewById(R.id.scroll_view);
        horizontalScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
            @Override
            public void onScrollChanged() {
.
. execute code
.
}

布局中的代码:

   <data>

        <variable
            name="sample"
            type=Class with my method />
    </data>

android:onScroll="@{() -> sample.onScrollChanged()}"

发现数据绑定错误。 ****/ 数据绑定错误 ****消息:无法在 android.widget.HorizontalScrollView 上找到参数类型为 lambda 的属性 'android:onScroll' 的 setter。 ****\ 数据绑定错误 ****

您可以使用 BindingAdapter 做到这一点

    @JvmStatic
    @BindingAdapter("onScrolled")
    fun setOnScroll(horizontalScrollView: HorizontalScrollView) {
        horizontalScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
                @Override
                public void onScrollChanged() { }
        )
    }

    onScrolled="@{() -> sample.onScrollChanged()}"