Cómo hacer una solicitud múltiple y esperar hasta que los datos provengan de todas las solicitudes en la actualización 2.0 - android
código actual:
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 bien.
Ahora quiero hacer varias llamadas (el número de llamadas se decidirá en tiempo de ejecución) y todas las llamadas dan datos en el mismo formato. los datos de todas las llamadas deben agregarse a newsList. Una vez que los datos estén disponibles en todas las llamadas y se agreguen a newsList, llame
AdapterRecommendation adapter = new AdapterRecommendation(getApplicationContext(), newsList);
listView.setAdapter(adapter);
¿Alguien puede ayudarme? ¿Cuál es la mejor manera de obtener datos de varias llamadas y esperar hasta que toda la solicitud no termine en la actualización 2.0?