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()}"
我想在绑定视图时执行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()}"