【发布时间】:2020-09-29 10:17:36
【问题描述】:
我刚刚使用 [双向] 数据绑定了解 java android 中的 MVVM 模式,我对这两个注释的用法感到困惑。 在 1 篇文章中,示例是使用 @Bindable 和 notifyPropertyChanged 设置可观察数据,而在另一篇文章中,作者在他的示例中使用了 @BindingAdapter。 两者有什么区别?似乎两个注释都有相同的目的,我什么时候应该使用 @Bindable 而不是 @BindingAdapter ?
以下是一些代码参考: 对于可绑定(取自:https://androidwave.com/working-with-observable-data-object-using-data-binding/)
@Bindable
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
notifyPropertyChanged(BR.name);
}
对于 BindingAdapter(取自:https://androidwave.com/android-data-binding-recyclerview/)
@BindingAdapter({ "avatar" })
public static void loadImage(ImageView imageView, String imageURL) {
Glide.with(imageView.getContext())
.setDefaultRequestOptions(new RequestOptions()
.circleCrop())
.load(imageURL)
.placeholder(R.drawable.loading)
.into(imageView);
}
感谢您的帮助。
【问题讨论】:
标签: java android data-binding android-mvvm