如何通过数据绑定传递 NumberPicker 值(onValueChange)?

how to pass NumberPicker value (onValueChange) through Data Binding?

Android 号码选择器有:onValueChange(NumberPicker picker, int oldVal, int newVal)

如何通过数据绑定将这些参数(NumberPicker picker、int oldVal、int newVal)传递到我的视图模型?

<data>
    <import type="android.view.View" />
    <variable name="vm" type="com.my.view.model.MainActivityVM" />
</data>
/* ... bla ...*/
<NumberPicker
    android:onValueChange="@{() -> vm.callMethod(/*???whats here???*/)}" />

我想在每次更改时在我的视图模型中捕获新值。

像这样:

    android:onValueChange="@{(picker,oldv,newv) -> viewModel.onValChange(oldv, newv)}">

我选择让我的 ViewModel class 的签名只采用旧值和新值,而不采用 NumberPicker。由你决定。

您还可以使用 two-way 数据绑定,就像使用任何其他本地改编的视图一样。

<NumberPicker
    android:value="@={vm.observableIntVariable}"
    />

别忘了平时的two-way requirements