Como fazer várias solicitações e aguardar até que os dados cheguem de todas as solicitações no retrofit 2.0 - android
código atual:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constant.BASEURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
APIService service = retrofit.create(APIService.class);
Call<ResponseWrap> call = service.getNewsData();
call.enqueue(new Callback<ResponseWrap>() {
@Override
public void onResponse(Call<ResponseWrap> call1, Response<ResponseWrap> response) {
if (response.isSuccess()) {
ResponseWrap finalRes = response.body();
for(int i=0; i<finalRes.getResponse().getResults().size(); ++i){
String title = finalRes.getResponse().getResults().get(i).getWebTitle();
News n = new News(titleCategory, title, null);
newsList.add(n);
}
AdapterRecommendation adapter = new AdapterRecommendation(getApplicationContext(), newsList);
listView.setAdapter(adapter);
}
else{
Toast.makeText(getApplicationContext(), "onResponse - something wrong" + response.message(), Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<ResponseWrap> call1, Throwable t) {
Toast.makeText(getApplicationContext(), "exception: " + t.getMessage(), Toast.LENGTH_LONG).show();
}
});
funciona bem.
Agora eu quero fazer várias chamadas (o número de chamadas será decidido em tempo de execução) e todas as chamadas fornecerão dados no mesmo formato. os dados de todas as chamadas precisam ser adicionados ao newsList. Quando os dados estiverem disponíveis em todas as chamadas e adicionados ao newsList, ligue para
AdapterRecommendation adapter = new AdapterRecommendation(getApplicationContext(), newsList);
listView.setAdapter(adapter);
Alguém pode me ajudar qual é a melhor maneira de obter dados de várias chamadas e aguardar até que toda a solicitação não termine no retrofit 2.0.