public static <T> Observable<T> toObservable(@NonNull final ObservableField<T> field) {
return Observable.create(e -> {
T initialValue = field.get();
if (initialValue != null) {
e.onNext(initialValue);
}
final OnPropertyChangedCallback callback = new OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(android.databinding.Observable observable, int i) {
e.onNext(field.get());
}
};
field.addOnPropertyChangedCallback(callback);
e.setCancellable(() -> field.removeOnPropertyChangedCallback(callback));
});
}
java类android.databinding.Observable.OnPropertyChangedCallback的实例源码
RxObservableField.java 文件源码
项目:okuki
阅读 22
收藏 0
点赞 0
评论 0
EpochSurfaceView.java 文件源码
项目:Muse-EEG-Toolkit
阅读 26
收藏 0
点赞 0
评论 0
public void setEpochCollector(EpochCollector collector) {
this.collector = collector;
this.collector.addOnPropertyChangedCallback(new OnPropertyChangedCallback() {
@Override public void onPropertyChanged(Observable sender, int propertyId) {
EpochSurfaceView.this.invalidate();
}
}
);
}