Общая переменная привязки данных

Как определить общий тип переменной привязки данных?

Следующий код никогда не компилируется.

<data>
    <variable
        name="viewModel"
        type="com.example.viewmodel.ViewModel<Model>"/>
</data>

Ответ 1

Вам нужно выйти из & lt; Model>, как показано ниже:

<data>
    <variable
        name="viewModel"
        type="com.example.viewmodel.ViewModel&lt;Model>"/>
</data>

Android Studio по-прежнему будет отображать ошибку "Не удается разрешить символ", но XML будет скомпилирован. Это известная проблема. Из поддержки Android Studio для привязки данных:

Примечание. Массивы и универсальные типы, такие как класс Observable, могут отображать ошибки при отсутствии ошибок.

Ответ 2

Попробуйте следующее:

<data>
<variable
    name="viewModel"
    type="com.example.viewmodel.ViewModel&lt;Model&gt;"/>
</data>

&lt; отвечает за < и &gt; отвечает за .

Ответ 3

У вас есть левый треугольник в XML; XML не играет именно так. попробуйте

<data>
    <variable
        name="viewModel"
        type="com.example.viewmodel.ViewModel&lt;Model>"/>
</data>

Ответ 4

Вы можете установить что-то вроде примеров выше:

<data>
    <import type="com.example.path.Model"/>
    <variable
        name="obj"
        type="com.example.viewmodel.ViewModel&lt;Model&gt;"
        />
</data>

ПРИМЕЧАНИЕ: вы можете написать ">" или "&gt;" в конце "Модель" должна быть в порядке

Чтобы избежать отображения ошибок, не забудьте добавить строку, чтобы сказать, какой тип объекта используется:

<import type="com.example.path.Model"/>