Наблюдаемый почтовый индекс в rxJava2 для Android - PullRequest
0 голосов
/ 21 ноября 2018

Раньше я много работал над rxJava1 для Android, и мне очень понравился zip-оператор.К сожалению, я не могу запустить его на rxJava2.Пожалуйста, кто-нибудь может мне помочь?Я пытаюсь сделать следующее

Observable
    .zip(
        Observable.just(“1”), 
        Observable.just(“2"), 
        Observable.just(“3”), 
        Observable.just(“4"),
        new Func4<String, String, String, String, MyResult>() {
           @Override
           public MyResult call(String string1, String string2, String string3, String string4) {
               return new MyResult(string1, string2, string3, string4);
           }
       });

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018
    Observable.zip(Observable.just("1"),
            Observable.just("2"),
            Observable.just("3"),
            Observable.just("4"),
            new Function4<String, String, String, String, MyResult>() {

                @Override
                public MyResult apply(String s, String s2, String s3, String s4) throws Exception {
                    return new MyResult(s, s2, s3, s4);
                }
            });

И убедитесь, что вы используете Observable от

import io.reactivex.Observable;
0 голосов
/ 21 ноября 2018

Измените его на

Реализация Java:

Flowable.zip(
                Flowable.just("1"),
                Flowable.just("2"),
                Flowable.just("3"),
                Flowable.just("4"),
                new Function4<String, String, String, String, MyResult >() {
                    @Override 
                    public MyResult apply(t1: String, t2: String, t3: String, t4: String) {
                        // return MyResult
                    }
                })

Реализация Kotlin:

Flowable.zip(
                Flowable.just("1"),
                Flowable.just("2"),
                Flowable.just("3"),
                Flowable.just("4"),
                object : Function4<String, String, String, String, MyResult > {
                    override fun apply(t1: String, t2: String, t3: String, t4: String): MyResult {
                        // return MyResult
                    }
                })
...