我想Observable使用RxJava 2 创建一个来自视图的单击侦听器.我从最简单的实现开始(我不在这里使用lambdas来向您展示此方法中的不同类型):
Observable<View> viewObservable = Observable.create(new ObservableOnSubscribe<View>() {
@Override
public void subscribe(@NonNull ObservableEmitter<View> e) throws Exception {
mNewWordView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View value) {
if (!e.isDisposed()) {
e.onNext(value);
}
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
然后我想到了onClickListener如果不需要进一步设置为null 的方法.我发现有两种类似(对我来说)名称的方法:
e.setCancellable(Cancellable c); 和
e.setDisposable(Disposable d);
它们之间有什么区别,我应该使用哪种?