Ich versuche, einen String-Vergleich mit Android XML-Datenbindung zu machen, aber ich habe nicht die richtigen Ergebnisse.String-Vergleich auf Android-Datenbindung
Auswerten meines Ausdrucks im Code, versuche ich notice.action == "continue"
und das ist falsch. Und bei der Datenbindung ist das natürlich auch falsch.
android:textColor='@{ notice.action == "continue" ? @color/enabledPurple : @color/disabledGray}'
Es wird nur wahr, wenn ich notice.action.equals("continue")
von Code tun. Dies ist das beabsichtigte Verhalten. Mein Problem ist, dass ich dies mit Datenbindungsausdrücken nicht erreichen kann, weil es keine Methoden wie equals
ausführen wird. Was kann ich tun, um den Vergleichsausdruck durch einen anderen zu ersetzen, der funktioniert?
Ich verwende this guide.
Bearbeiten: Ich habe mich geirrt, Methoden sind in XML erlaubt. Hat es auf diese Weise:
android:textColor='@{ notice.action.equals("continue") ? @color/enabledPurple : @color/disabledGray}'
Warum sagen Sie, dass es nicht Führen Sie eine Methode wie .equals() aus? Methoden werden in Datenbindungsausdrücken unterstützt. –
Die Dokumente erneut lesen, ich habe es gefunden. Ich schätze, ich bin darüber hinweg. Danke, dass du das gezeigt hast, ich werde es in meinem Code versuchen! –
Könnten Sie bitte den Code für die Verwendung von equals() in Datenbindung teilen – anoopg87