数据绑定时如何在androidXML中写三元运算符条件

How to write Ternary operation condition in android XML while data binding

如何在androidxml中使用数据绑定编写三元运算的等价表达式。

android:visibility="@{(assessmentquestionanswer.type.equals(@string/editText_type)?  View.VISIBLE : View.GONE) || (assessmentquestionanswer.type.equals(@string/date)?  View.VISIBLE : View.GONE)}"

目前我收到一条错误消息 必须能够找到 boolean 和 int 的共同父代

这样试试:

android:visibility="@{(assessmentquestionanswer.type.equals(@string/editText_type) || assessmentquestionanswer.type.equals(@string/date))?  View.VISIBLE : View.GONE}"

你的实现方式不对,你现在的情况是这样的

(assessmentquestionanswer.type.equals(@string/editText_type)?  View.VISIBLE : View.GONE) || (assessmentquestionanswer.type.equals(@string/date)?  View.VISIBLE : View.GONE)
                          View.VISIBLE                                                   ||                            View.VISIBLE

这是不对的。应该是

android:visibility="@{(assessmentquestionanswer.type.equals(@string/editText_type) || assessmentquestionanswer.type.equals(@string/date)) ?  View.VISIBLE : View.GONE}"