我刚开始使用android data-binding
。我想根据用户登录状态更改按钮文本,但我得到了以下错误。
Logcat错误
错误:|','?',':','??'} 错误:任务':app:compileDebugJavaWithJavac'的执行失败。 java.lang.RuntimeException:发现数据绑定错误。 **** /数据绑定错误**** msg:语法错误:不匹配的输入'gin'期待{'。','::','[','+',' - ','*',' /','%','<<','>>>','>>','< =','> =','>','< ','instanceof','==','!=','&','^','|','&&','||','?',':',' ??'} 文件:C:\用户\用户\ AndroidStudioProjects \测试\程序\ SRC \主\水库\布局\ binding_activity.xml 当地时间:30:28 - 30:61 **** \数据绑定错误****
任何帮助都会得到满足。
答案 0 :(得分:2)
你的记法可能应该是这样的:
user.isLogged ? @string/logout : @string/login
答案 1 :(得分:2)
正如 Sherlock 所说"You see, but you do not observe. The distinction is clear"
我所做的是,我没有看到官方文件。你可以像这样设置文字
在属性值周围使用单引号时,在表达式中使用双引号很容易:
android:text='@{user.isLogged ? "Logout" : "Login"}'
也可以使用双引号来包围属性值。这样做时,String文字应该使用引号或引用引号(`)。
android:text="@{user.isLogged ? `Logout` : `Login`}" //text is inside back-quote