Ich habe ein Problem mit Webservice.Ich JSONObject herunterladen, analysieren und in RecyclerView anzeigen. Ich benutze die Volley-Bibliothek. Mein Code sieht wie folgt aus:Nicht heruntergeladen von Webservice Artikel wird in der ListView angezeigt
@Override
protected List<Concert> doInBackground(String... params) {
final List<Concert> concerts = new ArrayList<>();
StringRequest request = new StringRequest(Request.Method.GET, "http://krakowskascenamuzyczna.pl/api/koncerty/future/",
new com.android.volley.Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject responseJSONObject = new JSONObject(response);
String arrayString = responseJSONObject.getJSONArray("posts").toString();
JSONArray responseJSONArray = new JSONArray(arrayString);
Concert tempConcert;
Log.e(TAG, "onResponse: " + responseJSONArray.length());
for (int i = 0; i < responseJSONArray.length(); i++) {
tempConcert = new Concert(responseJSONArray.getJSONObject(i).getJSONArray("attachments").getJSONObject(0).getJSONObject("images").getJSONObject("full").getString("url"),
responseJSONArray.getJSONObject(i).getString("content"),
responseJSONArray.getJSONObject(i).getString("date"),
responseJSONArray.getJSONObject(i).getString("title"),
responseJSONArray.getJSONObject(i).getInt("id"),
responseJSONArray.getJSONObject(i).getString("type"),
responseJSONArray.getJSONObject(i).getJSONObject("custom_fields").getJSONArray("typ").getInt(0));
concerts.add(tempConcert);
Log.e(TAG, "onResponse: size" + concerts.size());
}
Länge von responseJSONArray ist 10, während Konzerte 3 und ich habe genau 3 Konzerte in meinem recyclerView bekam. Warum wird nicht jedes heruntergeladene Konzert zur Liste hinzugefügt? Sie können direkt extrahieren JSONArray von JSONObject
Ist das Protokoll: inside for-Schleife druckt 10-mal "onResponse Größe" ?? – sJy
Wenn Sie sicher sind, dass Sie zehn Antworten erhalten, sollten Sie sich die Implementierung Ihres RecyclerView ansehen. –
onResponse: Größe "druckt 3 mal. Ich habe festgestellt, dass ich org.json.JSONException: Index 0 außerhalb des Bereichs [0..0) – Bartos