You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android XML中能否在条件语句内引用视图自身属性实现动态修改?

问题解答

你想要的直接在XML内绑定当前视图自身属性的需求完全可以实现,仅需调整一下表达式写法即可:
Android Data Binding 内置了view关键字,专门用于指代当前绑定表达式所在的视图实例,你直接用这个关键字调用自身属性就可以正常运行:

android:hint="@{view.isFocused ? 'right' : 'left'}"

原写法报错原因

  • 直接写isFocused会报错,是因为Data Binding表达式默认只会在<data>标签中定义的变量、导入的类静态成员范围内检索标识符,不会默认指向当前视图本身
  • this关键字在Data Binding的XML表达式中没有指代当前视图的语义,所以this.isFocused的写法也无法识别

补充说明

  • 该写法不需要额外做配置,不需要在<data>标签中导入View类、也不需要在业务代码中定义额外的绑定变量
  • 所有View类公开的属性都可以通过这个方式引用,比如view.isEnabled、view.isSelected、view.visibility等都可以直接用于表达式逻辑

内容的提问来源于stack exchange,提问作者Haseeb Hassan Asif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:45:02