【问题标题】:Android RxJava2 - Adding subscription to CompositeDisposableAndroid RxJava2 - 添加对 CompositeDisposable 的订阅
【发布时间】:2021-05-04 19:55:54
【问题描述】:

我有一个 Observable 和 PublishSubject 并且它们已被订阅。 由于类型不兼容,我尝试使用 subscribe 和 subscribeWith 都不起作用。您能否建议,如何将此订阅添加到 CompositeDisposable?

public Observable getObservable() {
  //returns Observable object;
}

PublishSubject<Object> subject = PublishSubject.create();

CompositeDisposable disposable = new CompositeDisposable();

// The below statement gives error: requiredtype Disposable but provided void. 
disposable.add(getObservable().subscribe(subject));

【问题讨论】:

    标签: android rx-java rx-java2


    【解决方案1】:

    试试这个

    disposable.add(getObservable().subscribe(yourObject -> {
        subject.onNext(yourObject);
    }));
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

          Disposable d = getObservable().subscribe(
                  subject::onNext,
                  subject::onError,
                  subject::onComplete
          );
          disposable.add(d);
      

      只要记住处理发布者的订阅就可以了。

      【讨论】:

        猜你喜欢
        • 2017-11-22
        • 1970-01-01
        • 2019-05-19
        • 1970-01-01
        • 1970-01-01
        • 2017-12-16
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        相关资源
        最近更新 更多