用于数字选择器的BindingAdapter

时间:2019-05-07 12:35:53

标签: android kotlin data-binding

我正在使用NumberPicker来实现“车轮选择器”,如this SO answer中所述。

我也在使用数据绑定,并试图在XML上填充视图。

这是我所做的:

    @BindingAdapter("maxValue")
internal fun NumberPicker.customSetMaxValue(max: Int){
  maxValue = max
}

@BindingAdapter("minValue")
internal fun NumberPicker.customSetMinValue(min: Int){
  minValue = min
}

@BindingAdapter("values")
internal fun NumberPicker.customSetDisplayedValues(data: List<String>){
  displayedValues = data.toTypedArray()
}
<NumberPicker
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:entries="@array/dosage_type"
          app:maxValue="2"/>

尽管如此,我得到:error: attribute maxValue (aka com.company.project.dev:maxValue) not found

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

  

我正在使用app:maxValue =“ 2”

那不是绑定表达式。即使您的值是一个常量,也需要在绑定表达式中使用它:

app:maxValue="@{2}"