2017-01-23 3 views
0

Я не могу прочитать значения Arraylist из MAP из приведенного ниже кода, пожалуйста, предложите, что делать.как читать значения Arraylist с карты в java

@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(); 


} 

и значения, добавленные в Карту, я считаю, что значения в Карте правильные. пожалуйста, предложите, что делать, поскольку я застрял здесь.

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

Ключ вашего Map является String не Integer.

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

Вместо передачи Integer в качестве ключа используйте строку в качестве ключа, в свою очередь вы получите список.

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

спасибо, что это сработало :) –

0

У вас есть это в обратном порядке.

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