试图使用自定义变量将可见性设置为View,但出现错误:Identifiers must have user defined types from the XML file. visible is missing it.是否可以使用数据绑定设置视图可见性?谢谢

<data>
    <variable
        name="sale"
        type="java.lang.Boolean"/>
</data>

<FrameLayout android:visibility="@{sale ? visible : gone}"/>

推荐答案

正如Android Developer Guide中所述,您需要这样做:

<data>
    <import type="android.view.View"/>
    <variable
        name="sale"
        type="java.lang.Boolean"/>
</data>

<FrameLayout android:visibility="@{sale ? View.GONE : View.VISIBLE}"/>

Android相关问答推荐

在Android Studio中陷入了不兼容的Gradle版本的循环

如何使禁用状态下的material 3按钮与启用状态下的 colored颜色 相同?

我到底应该如何分享我的应用程序中的图片?

用于小部件泄漏警告的伙伴对象中的Kotlin Lateinit

从惰性列中删除项目时Jetpack Compose崩溃

Play Google上发布的一款应用的房间数据库迁移

如何将.txtassets资源 转换为ArrayList<;字符串>;kotlin格式?

Android Drawable文件夹中的图像显示模糊

在 Android 房间迁移中获取上下文

为一组闪烁的可组合项制作动画,控制同步/定时

我的自定义小吃店不适合我的全宽屏幕尺寸

发布 MAUI 应用程序时出现遇到重复程序集错误

为什么我的应用程序使用这些信息?

在事件中使用 Context/Toast 时不需要的重组 - Jetpack Compose

单击过go 的文章时 NewsApp 崩溃

在 Jetpack Compose 中单击时更改表面项目的背景 colored颜色

Jetpack compose 为网络检索视频帧导致延迟

前台服务通知需要几秒钟才能显示

如何在 Kotlin 的片段中制作图像列表?

单个用户可以在 Firebase 身份验证中将多个电话号码链接到他的帐户吗?