Как получать уведомления при изменении свойств в привязке данных Android?
Я хотел бы получать уведомления, когда свойство изменяется в моей переменной.
В моей деятельности:
viewDataBinding = DataBindingUtil.setContentView(this, R.layout.list);
viewDataBinding.setViewFilter(viewFilter);
Моя модель:
public class ViewFilter extends BaseObservable {
private String priceFrom;
public ViewFilter() {
}
@Bindable
public String getPriceFrom() {
return priceFrom;
}
public void setPriceFrom(String priceFrom) {
this.priceFrom = priceFrom;
notifyPropertyChanged(BR.priceFrom);
}
}
Мой макет:
<data>
<variable
name="viewFilter"
type="com.example.ViewFilter" />
</data>
<EditText
android:id="@+id/edtListPriceFrom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="0123456789."
android:inputType="numberDecimal|numberSigned"
android:text="@={viewFilter.priceFrom}" />
Когда я хочу добавить слушателя:
viewFilter.addOnPropertyChangedCallback(new OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
Это не называется.
Что я должен сделать, чтобы иметь уведомления об изменении рабочего свойства?
1 ответ
Решение
Как предложено в комментариях - я регистрировал обратный вызов для другого экземпляра объекта, и поэтому я не получил ни одного.