繁体   English   中英

Android数据绑定三元运算符错误

[英]Android data binding ternary operator error

我正在尝试使用像这样的三元运算符中的ObservableInt与数据绑定来绑定ImageViewenabled值:

<variable
            name="myInt"
            type="android.databinding.ObservableInt"/>
...
<ImageView
        ...
        android:enabled='@{myInt > 1 ? false : true}'
        ...
        />

它完全按预期工作。

但是当我将表达式更改为

android:enabled='@{myInt < 1 ? false : true}'

它将引发以下编译错误:

与元素类型“ ImageView”关联的属性“ android:enabled”的值不得包含“ <”字符。

为什么我要检查myInt是否大于1,但不能检查是否小于1?

您需要为xml转义字符,如下所示:

android:enabled="@{myInt &lt; 1 ? false : true}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM