2016-06-20 11 views
1

Wie Sie den äquivalenten Ausdruck der Ternary-Operation in Android Xml schreiben, während Datenbindung verwendet wird.So schreiben Sie Ternary-Betriebsbedingung in android XML während Datenbindung

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

Zeit eine Fehlermeldung als müssen einen gemeinsamen Elternteil für boolean zu finden und int diese

+0

ist nicht 'android: Sichtbarkeit =" a | b "' arbeiten? –

+0

'yourVisibleObject.setVisibility (yourVisibleObject.getVisibility()! = View.VISIBLE? View.VISIBLE: View.INVISIBLE);' mit Java (nicht in XML) – Elshan

Antwort

2

Ihre Art der Implementierung ist falsch, Ihr aktueller Zustand ist wie

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

was nicht stimmt. Es sollte

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

versuchen, wie ich erhalte:

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