如何将Kotlin.Pair与数据绑定一起使用?

时间:2019-03-17 13:59:53

标签: android kotlin android-databinding

只要我将数据模型用于两个字段,它就可以正常工作。

但是当我尝试使用Kotlin时。配对失败,并给出提示错误:

....\DataBinderMapperImpl.java:20: error: cannot find symbol
import .....databinding.ItemCurrencyBindingImpl;


  symbol:   class ItemCurrencyBindingImpl

  location: package ......databinding

Xml代码:

    <variable
        name="currency"
        type="kotlin.Pair"/>
</data>

<TextView
    android:layout_width="@dimen/currency_dropdown_width"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:gravity="center|start"
    android:padding="@dimen/currency_dropdown_padding"
    android:text="@{currency.first}"
    app:drawableEnd="@{currency.second}"
    app:drawableSize="@{@dimen/currency_dropdown_image_size}"
    tools:text="@string/pound"/></layout>

1 个答案:

答案 0 :(得分:0)

您需要将类型对的导入添加到数据部分,并声明该对元素的类型。

如果您currency的类型为Pair<String, Int>,则可以这样声明:

<import type="kotlin.Pair"/>
<variable name="currency" type="Pair&lt;String, Int&gt;"/>