【问题标题】:How to get current spinner value with databinding?如何通过数据绑定获取当前微调器值?
【发布时间】:2019-10-16 08:01:40
【问题描述】:

我在 Andriod 中使用带有数据绑定的 MVVM 模式。我将值设置为微调器并且它可以工作,但是如何在 ViewModel 中获取选定的项目/位置?

我做了什么:

  1. 设置参数 android:selectedItemPosition="@={viewModel.position}" 到我在 xml 中的微调器
  2. 在 ViewModel 中创建公共 int 位置
  3. 为位置创建 getter 和 setter
  4. 创建 InverseBindingAdapter

    @InverseBindingAdapter(attribute = "android:selectedItemPosition")
     public int SelectedItem(Spinner spinner) {
         position = spinner.getSelectedItemPosition();
         return position;
    

    }

但它仍然无法正常工作。我应该怎么办?我对这个绑定很疯狂

【问题讨论】:

    标签: java android data-binding spinner


    【解决方案1】:

    您可以使用 xml 中的 android:selectedItemPosition 并将其绑定到 ViewModel 中的模型,如下所示

    android:selectedItemPosition="@={viewModel.model.selectedPosition}"
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    相关资源
    最近更新 更多