私は以下のクラスを持っています。サブスクリプションオブジェクトまたは何か他のものを返したいので、私はsubscribe()メソッドを参照していますが、サブスクライブ(オブザーバ)はvoidを返します。 どうすればいいですか?rxJavaリクエストからの退会方法
public abstract class MainPresenter<T> {
protected <T> Disposable subscribe(Observable<T> observable, Observer<T> observer) {
observable.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer);
}
[新しい更新] 私はよりよい解決策を待っています、このよう一時的な使用:!
protected <T> DisposableMaybeObserver subscribe(final Maybe<T> observable,
final Observer<T> observer) {
return observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableMaybeObserver<T>() {
@Override
public void onSuccess(T t) {
observer.onNext(t);
}
@Override
public void onError(Throwable e) {
observer.onError(e);
}
@Override
public void onComplete() {
observer.onComplete();
}
});
}
[新アップデート2] [[スクリーンショット] [https://i.stack.imgur.com/mioth.jpg]]
[新規更新3] [] 1
「DisposableObserver」を使用してインスタンスを返すだけです。 – akarnokd
@akarnokd例を挙げることはできますか? – matio
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#subscriber「io.reactivex.Observer」パッケージから観測可能な – akarnokd