Android 数据绑定三元运算符错误
Android data binding ternary operator error
我正在尝试使用数据绑定与 ObservableInt
在三元运算符中绑定 ImageView
的 enabled
值,如下所示:
<variable
name="myInt"
type="android.databinding.ObservableInt"/>
...
<ImageView
...
android:enabled='@{myInt > 1 ? false : true}'
...
/>
它完全符合预期。
但是当我将表达式更改为
android:enabled='@{myInt < 1 ? false : true}'
它抛出以下编译错误:
The value of attribute "android:enabled" associated with an element type "ImageView" must not contain the '<' character.
为什么我可以检查 myInt
是否大于 1 但不能检查它是否小于 1?
您需要为 xml 转义字符,如下所示:
android:enabled="@{myInt < 1 ? false : true}"
我正在尝试使用数据绑定与 ObservableInt
在三元运算符中绑定 ImageView
的 enabled
值,如下所示:
<variable
name="myInt"
type="android.databinding.ObservableInt"/>
...
<ImageView
...
android:enabled='@{myInt > 1 ? false : true}'
...
/>
它完全符合预期。
但是当我将表达式更改为
android:enabled='@{myInt < 1 ? false : true}'
它抛出以下编译错误:
The value of attribute "android:enabled" associated with an element type "ImageView" must not contain the '<' character.
为什么我可以检查 myInt
是否大于 1 但不能检查它是否小于 1?
您需要为 xml 转义字符,如下所示:
android:enabled="@{myInt < 1 ? false : true}"