Как использовать kotlin.Pair с привязкой данных? - PullRequest
0 голосов
/ 17 марта 2019

Работает нормально, пока я использую модель данных с двумя полями.

Но когда я пытаюсь использовать 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 голосов
/ 22 апреля 2019

Вам необходимо добавить импорт пары типов в ваш раздел данных, а также объявить тип элементов пары.

Если вы currency напечатали Pair<String, Int>, вы можете объявить его следующим образом:

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