2017-12-31 162 views
1

Ich schrieb einen Code, der Json Daten von meiner WordPress-Website analysiert und legte sie in einem ListView, alles funktioniert perfekt, mit Ausnahme der Tatsache, dass es entschieden, nur 10 JSON-Objekte von fast 50 zu laden, die in der URL vorhanden sind. Nachdem ich meinen Code immer wieder durchgegangen bin und nachdem ich alles versucht habe, werde ich hier fragen, was das Problem sein könnte. Dies ist meine KlasseAndroid Studio: Json Parsing lädt nur 10 Objekte von 50, die in der URL existiert

wird „getJsondata“ genannt

public ArrayList<GamesLibrary> getJsondata(String strurl) 
{ 
    ArrayList<GamesLibrary>arrayList=new ArrayList<GamesLibrary>(); 
    String line=""; 
    String res=""; 
    InputStream in=null; 
    try 
    { 
     HttpURLConnection urlConnection=null; 
     URL url = null; 
     try 
     { 
      URL myURL = new URL(strurl); 
      URLConnection ucon = myURL.openConnection(); 
      in = ucon.getInputStream(); 
      Log.d("Negev", in.toString()); 
     } catch (Exception e) 
     { 
      Log.d("asaf",e.getMessage()); 
     } 


     BufferedReader br =new BufferedReader(new InputStreamReader(in,"iso-8859-1")); 

     StringBuffer sb=new StringBuffer(""); 
     StringBuilder b = new StringBuilder(); 
     String input; 

     while((input=br .readLine())!=null) 
     { 
      b.append(input+"\n"); 
     } 

     in.close(); 
     br.close(); 


     try 
     { 
      JSONArray jArray = new JSONArray(b.toString()); 
      for(int i=0;i<jArray.length();i++) 
      { 

       Log.d("asaf","try json"+i); 
       JSONObject json_data = jArray.getJSONObject(i); 
       String title = json_data.getString("title"); 
       String content = json_data.getString("content"); 
       String content2 = content.replace("\\n", ""); 
       String content3 = Html.fromHtml(content2).toString(); 
       String content4 = content3.replace("\",\"protected\":false}", ""); 
       String title2 = title.replace("{\"rendered\"", ""); 
       title2 = title2.replace("\"}", ""); 
       title2 = title2.replace("\"", ""); 
       title2 = title2.replace(":", ""); 
       title2 = title2.replace("Date", ""); 
       String id = json_data.getString("id"); 
       String slug = json_data.getString("slug"); 
       GamesLibrary gamesLibrary= new GamesLibrary(Integer.valueOf(id),title2,content4,slug); 
       arrayList.add(gamesLibrary); 
       Log.d("ff",content3); 

      } 
     } 
     catch(JSONException e) 
     { 

     } 
     return arrayList; 
    } 
    catch (Exception e) { 
     // TODO: handle exception 
    } 
    return null; 
} 

Der Code funktioniert perfekt, aber lädt nur 10 Stellen, warum ist das so denken Sie? Vielen Dank!

Update: Die Arraylist enthält nur 10 Objekte, das Problem ist, dass es fast 50 ...

Update 2 enthalten sollte: genaue Json: https://docs.google.com/document/d/1wkuAFZWn1jF-_7AO_zvrI4mo1V6paUODvaUW8TAn03k/edit?usp=sharing

+0

siehst du die 50 Elemente, wenn du zur URL gehst? – mmm

+0

Gibt Ihre Methode 10 Elemente zurück, oder ListView zeigt 10 an. Können Sie die Rückgabeanweisung Ihrer Methode debuggen, was gibt das zurück? –

+0

Ja, ich sehe 50 Elemente in der URL, und die ListView ist perefectly normal, also glaube ich nicht, dass das Problem mit der Listenansicht ist ... und danke! – NegNeg64

Antwort

1

Ich sah Ihre json, und es nur 10 Elemente enthält :)

ids: 921, 919, 474 472 470 468 466 464 462 460

enter image description here

+0

Hallo Ich postete meine genaue Json, und ich habe nicht verstanden, was zu tun ist, wenn es ein Problem mit dem 11. Artikel gibt, und danke! – NegNeg64

+0

Hah, ich habe festgestellt, was das Problem war, siehe meine aktualisierte Antwort. Es gab keine Ausnahmen :) –

+0

Hallo mein Schlechter, ich habe den falschen JSON gepostet! dieser soll nicht 10 haben ... Nein, der ursprüngliche hat auch 10, wow, ich fühle mich so dumm, vielen Dank! – NegNeg64