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

标签 android android-databinding numberpicker

Android 数字选择器有:onValueChange(NumberPicker picker, int oldVal, int newVal)

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

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

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

最佳答案

像这样:

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

我选择让我的 ViewModel 类的签名仅采用旧值和新值,而不采用 NumberPicker。这取决于你。

关于android - 如何通过数据绑定(bind)传递NumberPicker值(onValueChange)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48368009/

相关文章:

android - 如何用动画改变 NumberPicker 的值?

android - 带有 NumberPicker 的 AlertDialog 呈现不正确

android - 阻止 NumberPicker 中最小值和最大值之间的转换

android - 导入 Android Studio 项目

java - 如何在 Android 上启用详细 GC?

android - 如何通过电子邮件共享多个图像

android - 我应该如何在 Android 的 viewModel 中获取 Resources(R.string)(MVVM 和数据绑定(bind))

android - 如何重启BluetoothLeScanner?

android - 数据绑定(bind): how to bind different data variables in one view

android - 数据绑定(bind) : set property if it isn't null