2016-12-02 7 views
-2

jsons要素を抽出するツリーを設定しました。これはDisplay arraylistに楽に追加されますが、私のデータソースarraylistには何も追加していません。私はこれを初心者にして、何が間違っているのか見るのに苦労しています。あなたは毎回交換するJSONからの情報がArrayListに追加されていません

ArrayList<Child> A = myTree.getChildren(); 
ArrayList<Child2> B = null;    
ArrayList<Child3> C = null; 
ArrayList<Child4> D = null; 

for (int z = 0; z < A.size(); z++) { 
    B = A.get(z).getChildren(); 
} 

for (int i = 0; i < B.size(); i++) { 
    C = B.get(i).getChildren(); 
} 

for (int j = 0; j < C.size(); j++) { 
     Display.add(C.get(j).getId() + " = " + C.get(j).getPercentage());   
     D = C.get(j).getChildren(); 
} 

if(D!=null){ 
    for (int k = 0; k < D.size(); k++) { 
     Display.add(k, D.get(k).getId() + " = " + D.get(k).getPercentage()); 
     dataSource.add(k,(int)(D.get(k).getPercentage()*100)); 
    } 
} 
+2

これは何をする予定ですか? – BretC

+0

いくつかのヒント:Javaでは、変数は通常小文字で始まります。 java 5以降、 'for(Child c:A){...} 'を使用してコレクションを反復処理することができます – BretC

+1

あなたのコードは読めません。インデントしてください。 –

答えて

0

ここで...配列は

ArrayList<String> Display = new ArrayList<>(); 
ArrayList<Integer> dataSource = new ArrayList<>(); 

とコードを一覧表示しています...私はあなたが子供を追加しようとしていると思います。これを試してください -

for (int z = 0; z < A.size(); z++) { 
if(B == null) 
    B = A.get(z).getChildren(); 
else 
    B.addAll(A.get(z).getChildren()); 
} 

など、その下に行があります。それが動作します。

+0

ありがとうございます。配列リストに? Display.add(k、D.get(k).getId()+ "=" + D.get(k).getPercentage()); dataSource.add(k、(int)(D.get(k).getPercentage()* 100)); –

関連する問題