使用改型和RxJava(Android)组合来自多个API调用的数据

使用改型和RxJava(Android)组合来自多个API调用的数据,java,android,retrofit2,rx-java2,Java,Android,Retrofit2,Rx Java2,我想做的是访问几个不同URL上的数据,组合这些数据,然后在我的应用程序中使用它们。我在获取所需的所有数据方面没有问题,但我不知道如何将数据合并到一个列表中,并知道何时完成所有API调用(所有数据都在列表中) 下面是我进行API调用的循环: for(String diningCourt: diningCourts){ menuApi.getMenu(diningCourt, date) .subscribeOn(Schedulers.newThrea

我想做的是访问几个不同URL上的数据,组合这些数据,然后在我的应用程序中使用它们。我在获取所需的所有数据方面没有问题,但我不知道如何将数据合并到一个列表中,并知道何时完成所有API调用(所有数据都在列表中)

下面是我进行API调用的循环:

for(String diningCourt: diningCourts){
        menuApi.getMenu(diningCourt, date)
                .subscribeOn(Schedulers.newThread())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(responseData -> {

                     //I want to add responseData to a list with 
                     //the results from the rest of the calls 

                });
    }
收集数据的正确方法是什么?我曾尝试使用静态类变量来存储结果,但最终只得到一个API调用的数据。如有任何建议,将不胜感激

我们使用“组合相关测试”参见 使用此运算符,两个调用都将执行,当两个调用都完成时,您将得到一个结果

Observable.combineLatest(observable1, observable2, (result1, result2) -> { //use both results })

我很难让它工作。我需要对可观察物做些什么吗?目前我有这个,无法获取要显示的print语句:
Observable.combinelateest(observables.get(0),observables.get(1),(result1,result2)->{System.out.println(“此处”);返回null;})(其中observables是由改装调用生成的可观察对象的列表)您必须订阅可观察对象。否则,不会从源中提取项。