#android #kotlin #android-databinding
#Android #kotlin #android-привязка к данным
Вопрос:
Он работает нормально, пока я использую модель данных с двумя полями.
Но когда я пытаюсь использовать kotlin. Пара не может быть собрана и выдает nit информативную ошибку :
....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:
Вам нужно добавить импорт пары типов в ваш раздел данных, а также объявить тип элементов пары.
Если вы currency
введете is Pair<String, Int>
, вы можете объявить это следующим образом:
<import type="kotlin.Pair"/>
<variable name="currency" type="Pairamp;<String, Intamp;>"/>
Комментарии:
1. Может использоваться без импорта типа —
<variable name="currency" type="kotlin.Pairamp;<String, Integeramp;>" />
также должно быть Integer, а не Int