标识符必须具有来自 XML 文件的用户定义类型,与 observablefield 数据绑定

Identifiers must have user defined types from the XML file, databinding with observablefield

我希望我的视图可见性取决于条件行为,所以我使用 ObservableField 并使用数据绑定尝试更改视图可见性,但出现 "Identifiers must have user defined types from the XML file. InputType is missing it"

之类的问题

代码:

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 应用数据绑定?我也将它用于字符串文本,它可以工作,但不能用于布尔条件语句。

我不确定此处是否属于这种情况,但当您在绑定表达式中引用尚未在布局的 <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>