Search code examples
androidobservablerx-javarx-java2reactivex

Cannot resolve method 'sumDouble(io.reactivex.Observable<java.lang.Double>)'


In Activity :

Double price = o.getDouble ( "totalprice" );

Observable<Double> floatObservable = Observable.just(price);

MathObservable
       .sumDouble(floatObservable)
       .subscribe(new Observer<Integer>() {
       @Override
       public void onSubscribe(Disposable d) {

       }

       @Override
       public void onNext(Integer integer) {
             System.out.println("Sum: " + integer);
       }

       @Override
       public void onError(Throwable e) {

       }

       @Override
       public void onComplete() {

       }
});

Gradle :

implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex:rxjava-math:1.0.0'    

Error occur at line :

.sumDouble(floatObservable)

Error :

Cannot resolve method 'sumDouble(io.reactivex.Observable)'


Solution

  • In your app.gradle add dependencies

      implementation "com.github.akarnokd:rxjava2-extensions:0.20.8"
    

    then

     Observable<Double> floatObservable = Observable.just(1.2,1.3);
    
        MathObservable
                .sumDouble(floatObservable)
                .subscribe(new Observer<Double>() {
                    @Override
                    public void onSubscribe(Disposable d) {
    
                    }
    
                    @Override
                    public void onNext(Double aDouble) {
                        System.out.println("Sum: " + aDouble);
                       //if you want int convert here
                    }
    
                    @Override
                    public void onError(Throwable e) {
    
                    }
    
                    @Override
                    public void onComplete() {
    
                    }
                });
    

    Its working fine ..answer is 2.5