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

时间:2018-05-08 14:50:39

标签: android data-binding ternary-operator android-databinding

我正在尝试使用三元运算符中的enabled数据绑定来绑定ImageView的{​​{1}}值,如下所示:

ObservableInt

它完全符合预期。

但是当我将表达式更改为

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

它抛出以下编译错误:

  

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

为什么我可以检查android:enabled='@{myInt < 1 ? false : true}'是否大于1但是无法检查它是否小于1?

1 个答案:

答案 0 :(得分:2)

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

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