Android RxJava中连续的多个api调用,改装顺序混乱
我有一个数据列表,其中再次包含2个字符串URL,它应该再次放置2个api调用来获取结果,并将这些数据添加到主列表中,然后显示在listview中 在这里,我能够获得具有正确数据的列表,但顺序不匹配。就像第一个完成的结果被添加到我的ArrayList或者其他什么东西。请帮忙 下面是我的代码:Android RxJava中连续的多个api调用,改装顺序混乱,android,retrofit,rx-java,Android,Retrofit,Rx Java,我有一个数据列表,其中再次包含2个字符串URL,它应该再次放置2个api调用来获取结果,并将这些数据添加到主列表中,然后显示在listview中 在这里,我能够获得具有正确数据的列表,但顺序不匹配。就像第一个完成的结果被添加到我的ArrayList或者其他什么东西。请帮忙 下面是我的代码: void handleOrdersResponse(@NonNull List<OrderRowViewModel> response) { for (int i = 0; i <
void handleOrdersResponse(@NonNull List<OrderRowViewModel> response) {
for (int i = 0; i < response.size(); i++) {
String fulfillmentUrl = response.get(i).mFulFillmentMethodUrl.get();
String paymentUrl = response.get(i).mPaymentMethodUrl.get();
OrderRowViewModel response1 = response.get(i);
subscribe(Observable.zip(getFulFillment(fulfillmentUrl), getPayment(paymentUrl), Pair::new)
.compose(ObservableTransformers.getInstance().networkOperation())
.doOnSubscribe(() -> {
})
.subscribe(pair -> {
response1.setOrderFulFilemntname(pair.first.state(), pair.first.state());
response1.setPaymnetType(response1.mPaymentTitle.get(), pair.second.methodData().methodName());
mModels.add(response1);
mFilteredConversations.add(response1);
if (mFilteredConversations.size() == response.size() && mModels.size() == response.size()) {
mAdapter.refresh();
}
},
throwable -> mEventBus.post(new BaseActivity.ShowSnackbarEvent(R.string.failure_updating_store))));
}
}
void handleOrdersResponse(@NonNull List response){
对于(int i=0;i{
})
.订阅(配对->{
response1.setOrderFulfillmentName(pair.first.state(),pair.first.state());
response1.setPaymentType(response1.mPaymentTitle.get(),pair.second.methodData().methodName());
mModels.add(response1);
mFilteredConversations.add(response1);
if(mFilteredConversations.size()==response.size()&&mModels.size()==response.size()){
mAdapter.refresh();
}
},
throwable->mEventBus.post(newbaseActivity.ShowSnackbarEvent(R.string.failure\u update\u store));
}
}
如果要按顺序调用API,则应使用FlatMap什么是subscribe调用/方法?这可能有帮助: