字段更改时未自动调用javaDatabinding-method

时间:2018-09-16 14:42:09

标签: android android-databinding

我在我的应用程序中使用数据绑定,我想基于方法返回的值设置视图的文本颜色。我尝试使用下面的代码-

xml

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

viewmodel

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

但是问题在于,当bval的值更改时,textcolor不会自动更新,因为bval更改时不会自动调用方法。我如何更新代码来解决此问题?

1 个答案:

答案 0 :(得分:1)

在某些字段上进行了更改时,您需要调用notifyPropertyChanged(BR.propertyId)notifyChange()-在这种情况下,绑定应触发视图以更新textColor属性。