我希望视图的可见性取决于条件行为,因此我正在使用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}"/>
如何将数据绑定与boolean类型的Observablefield配合使用?我也将它用于字符串文本,它可以工作,但不能与布尔条件语句一起工作。
答案 0 :(得分:3)
我不确定是否是这种情况,但是当您在布局的<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>