【问题标题】:Error when creating Observer in RxAndroid在 RxAndroid 中创建观察者时出错
【发布时间】:2017-09-28 05:17:32
【问题描述】:

我正在使用 RxAndroid 制作一个示例,如下代码所示。但 Android Studio 给出以下错误:

incompatible types
required: io.reactivex.observable <String>
found: void

请告诉我如何解决此错误

代码

Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
        @Override
        public void subscribe(ObservableEmitter<String> e) throws Exception {
            e.onNext("onNext");
            e.onComplete();

        }
    }).subscribe(new Observer<String>() {
        @Override
        public void onSubscribe(Disposable d) {

        }

        @Override
        public void onNext(String value) {

        }

        @Override
        public void onError(Throwable e) {

        }

        @Override
        public void onComplete() {

        }
    });

【问题讨论】:

    标签: android rx-java rx-android


    【解决方案1】:

    将创建和订阅拆分成不同的语句:

    Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
        @Override
        public void subscribe(ObservableEmitter<String> e) throws Exception {
            e.onNext("onNext");
            e.onComplete();
    
        }
    });
    
    observable.subscribe(new Observer<String>() {
        @Override
        public void onSubscribe(Disposable d) {
    
        }
    
        @Override
        public void onNext(String value) {
    
        }
    
        @Override
        public void onError(Throwable e) {
    
        }
    
        @Override
        public void onComplete() {
    
        }
    });
    

    【讨论】:

    • 谢谢,但我应该拆分它??我曾经使用过这样的语法,但使用不同的 RxAndroid lib
    • 究竟是哪一个?
    • 编译'io.reactivex:rxandroid:1.2.1' 编译'io.reactivex:rxjava:1.1.9
    • 没有一个subscribe 方法返回Observable。他们要么返回Subscription;或者在 2.x 中,一些重载返回 Disposable
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2014-02-24
    • 2011-06-18
    相关资源
    最近更新 更多