2017-12-31 276 views
1

WordPress WebサイトからJson Dataを解析してListViewに入れたコードを書いた、は完全に URLに存在するほぼ50個のJsonオブジェクトを10個だけロードすることに決めました。 私のコードを何度も繰り返した後、私はすべてを試した後、何が問題なのかここで尋ねるつもりです。Androidスタジオ:Json Parsingは、URLに存在する50個のオブジェクトのうち、10個だけを読み込みます。

これは私のクラスであり、それはコードが完璧に動作しますが、負荷のみ10の記事「getJsondata」

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; 
} 

と呼ばれ、なぜだと思いますということですか? ありがとうございました!

更新: ArrayListのが唯一の10のオブジェクトが含まれている、問題はそれがほぼ50 ...

アップデート2含めるべきであるということです:正確なJSON: https://docs.google.com/document/d/1wkuAFZWn1jF-_7AO_zvrI4mo1V6paUODvaUW8TAn03k/edit?usp=sharing

+0

URLに行くと50個のアイテムが表示されますか? – mmm

+0

メソッドが10個のアイテムを返すか、ListViewに10個が表示されますか?returnメソッドの戻り値をデバッグできますか? –

+0

はい、URLに50個の項目が表示されていますが、ListViewは正常に正常ですので、問題はリストビューではないと思います...ありがとうございます! – NegNeg64

答えて

1

を私はあなたのJSONを見て、それのみを含む10の項目:)

IDS:921、919、474 472 470 468 466 464 462 460

enter image description here

+0

こんにちは、私は正確なJsonを投稿しましたが、11番目の項目に問題がある場合にはどうすればよいのか分かりませんでした。 – NegNeg64

+0

ハァー、私は問題が何かを発見した、私の更新答えを見てください。例外はありませんでした:) –

+0

こんにちは私は悪い、私は間違ったJsonを投稿しました!この1つは10を持っているとは思わない...いいえ、元のものは10のいずれかを持っています、うわー、私はとてもばかげて感じる、ありがとうございます! – NegNeg64

関連する問題