当前位置: 首页 > 知识库问答 >
问题:

不存在类型变量R的实例,所以Observable符合Observable?

东郭弘方
2023-03-14

我是Rx android的新手。当我试着打电话的时候

Observable.from(imagesMulty).map(image -> printImage(image)).subscribe();
public  void printImage(Image image)
    {
Subscription addImage;  


addImage = retrofit.create(Restapi.class).addImage(image)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<Response<SlideResponse>>() {
                    @Override
                    public final void onCompleted() {
                        dismissProgress();

                }

                @Override
                public final void onError(Throwable e) {

                    e.printStackTrace();
                    dismissProgress();

                }

                @Override
                public void onNext(Response<SlideResponse> apiResponse) {
                    dismissProgress();
                    if (apiResponse.code() == 201) {


                    }

                }


            });
    subscriptions.add(addSlide);
    }

它显示不存在类型变量R的实例,因此可观察的符合可观察的。让我知道这个错误是什么,以及如何解决。我的要求是一个接一个地调用api。

我试图添加compile“com.jakewharton.reformation:reformation2-rxjava2-adapter:1.0.0”,但仍然存在错误。

共有2个答案

公孙威
2023-03-14

你可以试试这个例子。这可能有助于解决你的问题https://github.com/dustin-graham/RxAndroid-Sample

柴磊
2023-03-14

RxJava2不允许您使用Observable.from()函数。使用是使用com.jakewharton.retrofit:改进型2-rxjava2-适配器:1.0.0withRxJava。(版本冲突)

最好的实现应该是这样的(在Rxjava2中)

Disposable subscription;
subscription = Observable.just(imagesMulty)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<String>() {
                @Override
                public void accept(@NonNull String s) throws Exception {
                    // do retrofit stuff
                }
            }, new Consumer<Throwable>() {
                @Override
                public void accept(@NonNull Throwable throwable) throws Exception {
                    throwable.printStackTrace();
                }
            });
subscription.dispose(); // Call in onDestroy() or onPause()

如果您想使用map运算符组合或压缩您的改造内容,请考虑使用zip、concat或compinelatest...

 类似资料: