Data Binding的真正的作用是当数据变化时,可以通知给你的Data对象。有三种不同的数据变化通知机制:Observable
对象、ObservableFields
以及observable collections
当这些可观察Data对象绑定到UI,Data对象属性的更改后,UI也将自动更新。
Observable 对象
实现android.databinding.Observable
接口的类可以允许附加一个监听器到Bound对象以便监听对象上的所有属性的变化。
具体代码:
public class User extends BaseObservable {
private String name;
private String age;
public User(String name, String age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
notifyPropertyChanged(com.zdj.databindingdemo.BR.name);
}
public void setAge(String age) {
this.age = age;
notifyPropertyChanged(com.zdj.databindingdemo.BR.age);
}
@Bindable
public String getName() {
return this.name;
}
@Bindable
public String getAge() {
return this.age;
}
}
2 Observable 集合