从微调器-MVVM-数据绑定中获取所选项目



我想使用数据绑定MVVM从微调器中获取数据,请问我该怎么做。

这是我的微调器数据从数组列表加载

<data class=".AddProductBinding">
<variable
name="addProductViewModel"
type="com.rao.iremind.AddProductViewModel" />
</data>
<Spinner
android:id="@+id/spinner_catagory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:entries="@array/product_catagory"
app:layout_constraintTop_toBottomOf="@+id/label_catagory" />

如何在我的视图模型中获取所选项目

谢谢R

AFAIK-Spinner没有为您的用例编写绑定适配器。所以你有两个选择:

  1. 为听众创建一个简单的Binding Adapter
@BindingAdapter("onItemSelected")
fun Spinner.setItemSelectedListener(itemSelectedListener: (T) -> Unit) {
setOnItemClickListener{ _, view, _, _ ->
itemSelectedListener(...)
}
}

然后从数据绑定

app:onItemSelected="@{(value) -> addProductViewModel.onItemSelected(value))}" />
  1. 设置Inverse Binding Adapter,您可以在文档中查看

最新更新