[英]Java Android Data Binding : what is the difference between @Bindable and @BindingAdapter
我剛剛在 java android 中使用 [雙向] 數據綁定了解了 MVVM 模式,我對這兩個注釋的用法感到困惑。 在一篇文章中,示例是使用@Bindable 和 notifyPropertyChanged 設置可觀察數據,而在另一篇文章中,作者在他的示例中使用了@BindingAdapter。 兩者有什么區別? 似乎兩個注解都有相同的目的,我什么時候應該使用@Bindable 而不是@BindingAdapter?
以下是一些代碼參考:對於 Bindable(取自: 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);
}
謝謝您的幫助。
BindingAdapter 是在android 框架沒有實現你要綁定的屬性時創建自定義綁定方法。 另一方面,Bindable 用於將數據綁定到視圖。 為清楚起見,您可以將綁定適配器想象成自定義鍵,但可綁定為鍵的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.