找不到符号变量 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}"
我在 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}"