如何将DataBindingUtil与Android微调器一起使用?

我正在尝试使用新的Android数据绑定库,并尝试使用所选值填充微调器时出现以下错误。

错误消息(在Android Studio中编译期间):

错误:任务’:app:compileDebugJavaWithJavac’的执行失败。 java.lang.RuntimeException:发现数据绑定错误。 **** /数据绑定错误**** msg:找不到参数类型为java.lang.String的属性’app:selection’的setter。 file:/Users/ove/Code/AndroidStudio/Samples/Receipts/app/src/main/res/layout/dialogfragment_inputamount_db.xml loc:40:29 – 40:44 **** \ data binding error ****

我的布局文件看起来如下(不完整):

         

那些设法获得数据绑定以与微调器一起工作的人?

奥维

创建一个BindingUtils类并粘贴setSelection方法

 public class BindingUtils { @BindingAdapter({"bind:selection"}) public static void setSelection(Spinner spinner, int position) { spinner.setSelection(position); } } 

在旋转器内

 app:selection="@{receipt.currencyIdx}" 

多数民众赞成你需要做的。

AbsSpinnerinheritance的setter Spinner:setSelection具有int参数 – 而不是String

public void setSelection(int position)

你应该传递一个位置,而不是选择的价值