Android Java Two-Way-Binding на радиокнопках проверен

У меня есть вопрос, касающийся радиокнопок при использовании двусторонней привязки данных в Android Java. Как я могу добиться размещения собственности

android:checked="@={patient.gender}" 

на радиокнопке, когда есть две радиокнопки, и мне нужно изменить кнопку, когда пациент мужчина или женщина.

Я попытался:

android:checked="@={patient.gender}" //(when patient.gender is false or true)
android:checked="@={patient.gender.equals('m')}" //(when patient.gender would be m or f in a file)
android:checked="@={patient.gender == 'm'}"
android:checked="@={patient.gender ? true : false}"

это всегда дает мне ошибку привязки данных из-за того, что невозможно сослаться на символы.

Как я мог справиться с этой проблемой? :)

Заранее благодарю за любую помощь!


person baja    schedule 26.04.2018    source источник


Ответы (1)


Как я мог справиться с этой проблемой?

Создайте геттер в своем классе pojo patient, чтобы проверить, является ли текущий пациент мужчиной или женщиной.

public boolean isMale() {
    return gender.equals("m");
}

и используйте это как выражение в привязке данных:

android:checked="@{patient.isMale}"
person Paresh P.    schedule 26.04.2018
comment
Создайте установщик для isFemale внутри вашего pojo пациента, потому что привязка данных не может найти установщик для поля isFemale. - person Paresh P.; 26.04.2018