android - Android数据绑定三元运算符错误
问题描述
我正在尝试将using 数据绑定的enabled
值与in 三元运算符绑定,如下所示:ImageView
ObservableInt
<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 < 1 ? false : true}"
推荐阅读
- javascript - 使用 while 循环生成多个按钮
- leaflet - 获取在 DRAWVERTEX 事件传单中绘制的顶点的经纬度
- python - 如何使用 Selenium 和 Python 选择具有 unselectable="on" 属性的剑道下拉元素
- tensorflow - 如何在tensorflow的while循环中迭代和更改变量的值
- asp.net-mvc-5 - Visual Studio 2017 无法启动调试适配器“chrome”
- r - 如何组合两个data.tables的列?
- load-testing - 如何为炮兵负载测试设置代理 url?
- python - Python 控制台菜单在 selection_menu 中运行 command_item
- javascript - 从 HTML 页面获取所有输入 id 值
- android-recyclerview - 创建2 RecyclerView 垂直滚动成水平滚动?