如何通过数据绑定传递 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!
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!