找不到符号变量 bound_observable

Cannot find symbol variable bound_observable

我在 android 应用程序中使用数据绑定,我正在实施双向数据绑定。 我像这样使用注释@BindingAdapter 创建了一个自定义属性,

 @BindingAdapter({"app:bindingText"})
public static void bindEditText(EditText view, final BindableString bindableString) {

    Pair<BindableString, SimpleTextWatcher> pair = (Pair) view.getTag(R.id.bound_observable);
    if (pair == null || pair.first != bindableString) {
        if (pair != null) {
            view.removeTextChangedListener(pair.second);
        }
        SimpleTextWatcher watcher = new SimpleTextWatcher() {

            @Override
            public void onTextChanged(String newValue) {
                bindableString.set(newValue);
            }
        };
        view.setTag(R.id.bound_observable, new Pair<>(bindableString, watcher));
        view.addTextChangedListener(watcher);
    }
    String newValue = bindableString.get();
    if (!view.getText().toString().equals(newValue)) {
        view.setText(newValue);
    }
}

它说找不到符号变量bound_observable,我是数据绑定的新手,请帮助我。

您是否在资源中声明了R.id.bound_observable

<resources>
    <item name="R.id.bound_observable" type="id" />
</resources>

无论如何,新版本的 DataBinding 库提供了自己的双向绑定,就像这样

android:text="@={viewModel.bindableString}"