2017-01-23 5 views
0

以下のコードからArraylistの値をMAPから読み取ることができません。何をすべきかを示唆してください。JavaのMapからArraylistの値を読み取る方法

@Override 
    protected void onPostExecute(Map<String,List<CommentModel>> results) { 
     super.onPostExecute(results); 

     results.get(0).get(commentModelList); 

      Toast.makeText(getApplicationContext(), "Helloji" + results, Toast.LENGTH_LONG).show(); 


} 

と値をマップに追加すると、正しい値でマップに値を入れると思います。私がここにこだわっているので、何をすべきかを提案してください。あなたのMap

String line = ""; 
     StringBuffer buffer = new StringBuffer(); 

     while ((line=bufferedReader.readLine())!=null){ 
      buffer.append(line); 
      String result = buffer.toString(); 
      JSONArray jsondata = new JSONArray(result); 
      commentModelList = new ArrayList<>(); 
      commentModelList_child = new ArrayList<>(); 
      map =new HashMap(); 

      for(int i=0;i<=jsondata.length();i++){ 

       CommentModel cmnmodel = new CommentModel(); 

       JSONObject jsonObject = jsondata.getJSONObject(i); 

       int id= jsonObject.getInt("id"); 
       String content = jsonObject.getString("content"); 

        cmnmodel.setContent(content); 
        cmnmodel.setId(id); 
       commentModelList.add(cmnmodel); 
       commentModelList_child.add(cmnmodel); 

       map.put("commentModelList",commentModelList); 
       map.put("commentModelList_child",commentModelList_child); 

      } 

     } 

答えて

1

キーがStringないIntegerです。

results.get(0).get(commentModelList); 

Integerをキーとして渡す代わりに、Stringをキーとして使用する代わりに、Listを取得します。

List<CommentModel> comments = results.get("value_of_id"); 
+0

ありがとうございました:) –

0

あなたはそれを後方に持っています。

results.get(commentModelList).get(0); 
関連する問題