Идентификаторы должны иметь определяемые пользователем типы из файла XML, связывая данные с полем observable - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу, чтобы видимость моего представления зависела от поведения условия, поэтому я использую ObservableField и при привязке данных пытаюсь изменить видимость представления, но при этом возникает проблема типа «Идентификаторы должны иметь пользовательские типы из файла XML. InputType отсутствует»

Код:

Kotlin File

var showView: ObservableField<Boolean>? = ObservableField(false)

//API call response
showView.set(true)


Layout File:

<TextView
 android:id="@+id/textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="@{viewModel.showView ? View.VISIBLE : View.GONE}"/>

Как применить связывание данных с Observablefield типа boolean? Я также использовал его для строкового текста, и он работает, но не работает с логическим условным оператором.

1 Ответ

3 голосов
/ 03 апреля 2019

Я не уверен, что это так, но это сообщение об ошибке обычно отображается, когда вы ссылаетесь на тип в выражениях привязки, который не был объявлен в разделе <data> вашего макета. Точно так же, как вы объявляете тип View как импорт, вы должны объявить тип InputType.

<data>
    <!-- Maybe an import for InputType is missing here? -->
    <import type="android.view.View" />
    <variable
        name="viewModel"
        type="com.yourpackage.YourViewModel"/>
</data>
...