javaDatabinding-метод не вызывается автоматически при изменении поля - PullRequest
0 голосов
/ 16 сентября 2018

Я использую привязку данных в своем приложении. Я хочу установить текстовый цвет представления на основе значения, возвращаемого методом. Я пытался использовать код ниже -

XML

android:textColor="@{presenrer.xyz(abc)?@color/cl1:@color/cl2}"

ViewModel

public Boolean xyz(String abc)
{
..
return bval!=null && bval.getName().equalsIgnorecase(abc);
}

Но проблема в том, что при изменении значения bval текстовый цвет не обновляется автоматически, поскольку метод не вызывается автоматически при изменении bval. Как я могу обновить свой код для решения этой проблемы?

1 Ответ

0 голосов
/ 16 сентября 2018

Когда в какое-то поле были внесены изменения, вам нужно вызвать notifyPropertyChanged(BR.propertyId) или notifyChange() - в этом случае привязка должна вызвать представление для обновления свойства textColor.

...