Как получать уведомления при изменении свойств в привязке данных 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 ответ

Решение

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

Другие вопросы по тегам