Wie mache ich mehrere Anfragen und warte, bis Daten von allen Anfragen in Retrofit 2.0 kommen - android
aktueller Code:
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();
}
});
funktioniert gut
Jetzt möchte ich mehrere Anrufe tätigen (die Anzahl der Anrufe wird zur Laufzeit festgelegt) und alle Anrufe geben Daten im gleichen Format aus. Daten aus allen Anrufen müssen zur Nachrichtenliste hinzugefügt werden. Sobald Daten aus allen Anrufen verfügbar sind und zur Nachrichtenliste hinzugefügt wurden, rufen Sie @ a
AdapterRecommendation adapter = new AdapterRecommendation(getApplicationContext(), newsList);
listView.setAdapter(adapter);
Kann mir jemand helfen, was der beste Weg ist, um Daten aus mehreren Anrufen abzurufen und zu warten, bis alle Anforderungen in Retrofit 2.0 nicht mehr erfüllt sind.