Я пытаюсь сравнить строки с привязкой данных Android к XML, но у меня нет правильных результатов.
Оценивая свое выражение в коде, я пытаюсь notice.action == "continue"
и это неверно. И в привязке данных это тоже ложь, конечно.
android:textColor='@{ notice.action == "continue" ? @color/enabledPurple : @color/disabledGray}'
Это становится правдой только тогда, когда я делаю notice.action.equals("continue")
по коду. Это предполагаемое поведение. Моя проблема в том, что я не могу сделать это с помощью выражений привязки данных, потому что он не будет запускать методы, подобные equals
. Что я могу сделать, чтобы заменить выражение сравнения другим, которое работает?
Я использую это руководство.
Изменение: я был не прав, методы разрешены в XML. Сделал это так:
android:textColor='@{ notice.action.equals("continue") ? @color/enabledPurple : @color/disabledGray}'