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

Ant*_*adz 6 android kotlin android-databinding

只要我使用具有两个字段的数据模型,它就可以正常工作。

但是当我尝试使用 kotlin 时。Pair 无法构建并给出 nit 信息错误:

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


  symbol:   class ItemCurrencyBindingImpl

  location: package ......databinding
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

小智 6

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

如果你 currency输入 isPair<String, Int>你可以像这样声明它:

<import type="kotlin.Pair"/>
<variable name="currency" type="Pair&lt;String, Int&gt;"/>
Run Code Online (Sandbox Code Playgroud)