首页 > 解决方案 > android:visibility 不使用可见或消失选项

问题描述

我正在尝试显示和隐藏基于布尔值的元素。在我的 xml 中,我有以下内容:

android:visibility="@{viewModel.interfaceEnable ? visible : gone}"

viewModel.interfaceEnable是一个 ObservableField 本身:var interfaceEnable = ObservableField<Boolean>(). Andvisiblegoneandroid:visibility属性的值。但我收到此错误:

****/ data binding error ****msg:Identifiers must have user defined types from the XML file. visibile is missing it

为什么这个属性不能设置这个方法?

标签: androidandroid-layoutkotlin

解决方案


您应该View按如下方式使用常量:

android:visibility="@{viewModel.interfaceEnable ? View.VISIBLE : View.GONE}"

有关更多信息,请查看您可以使用的Visibility 文档View.GONEView.INVISIBLE以及View.VISIBLE

还要确保为此使用正确的导入类型,如下所示

<data>
    <import type="android.view.View" />
    <variable
        name="anyName"
        type="com.example.AnyName"/>
</data>

推荐阅读