4. public class VersionViewHolder extends RecyclerView.ViewHolder {
public final TextView name;
public final TextView number;
public VersionViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
number = (TextView) itemView.findViewById(R.id.number);
}
public void setVersion(AndroidVersion version) {
name.setText(version.getName());
number.setText(version.getNumber());
}
}
18. Null safety
Код, сгенерированный библиотекой Data Binding,
автоматом проверяет на null все объекты и
предотвращает NullPoinerException.
Например, если в выражение @{version.name} version
является null, значение version.name будет являться его
значение по умолчанию - null. Если поле или метод будут
возвращать примитивный тип данных, то будет
использовано значение этого типа по умолчанию.
29. Observable Object
public class AndroidVersion extends BaseObservable {
private String mName;
private String mNumber;
public AndroidVersion(String name, String number) {
mName = name;
mNumber = number;
}
@Bindable public String getNumber() { return mNumber; }
@Bindable public String getName() { return mName; }
public void setName(String name) {
mName = name;
notifyPropertyChanged(BR.name);
}
public void setNumber(String number) {
mNumber = number;
notifyPropertyChanged(BR.number);
}
}
30. Observable Fields
public class AndroidVersion {
public final ObservableField<String> name;
public final ObservableField<String> number;
public AndroidVersion(String name, String number) {
this.name = new ObservableField<>(name);
this.number = new ObservableField<>(number);
}
}