如何从AsyncTask的postExecute方法中的Map中获取结果?

问题描述:

如何从asyncTask的postExecute方法中的Map中获取结果?我无法取得结果结果?如何从AsyncTask的postExecute方法中的Map中获取结果?

@Override 
    protected void onPostExecute(Map<String,List<CommentModel>> results) { 
     super.onPostExecute(results); 
     for(int i=0;i<results.size();i++){ 
      String ar =results.get(i).get(commentModelList); 
      // String content = commentModel.getContent(); 

      Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_LONG).show(); 
      ExpandableListAdapter expandableListAdapter = new Expandablelistadapter(getApplicationContext(),parentlist,childlist); 
      list.setAdapter(expandableListAdapter); 



    } 
} 
+0

的Dubplicate [如何与一些JSON数据创建ExpandableListView(https://*.com/questions/41781482/how-to-create-expandablelistview-with-some- json-data) – Selvin

String ar =results.get(i).get(commentModelList);

应改为

CommentModel ar =results.get(commentModelList).get(i);

为了避免混淆,是今后尝试每个步骤分离成不同的行:

List<CommentModel> resultList = results.get(commentModelList); 
CommentModel ar = resultList.get(i); 

编辑: 另外,你在哪里关闭你的循环?如果我理解你正在尝试在代码中正确执行的操作,那么你需要迭代从地图获取的列表,而不是遍历地图以获取列表。因此,它应该更像:

List<CommentModel> resultList = results.get(commentModelList); 

for(int i=0;i<resultList.size();i++){ 
    CommentModel ar = resultList.get(i); 

    // use 'ar' in the rest of your code 
} 
+0

对不起,但代码不起作用 –

+0

@hiteshchauhan编辑。如果编辑中的解决方案不起作用,那么您必须提供更多关于您正在尝试执行的操作和更多日志的信息。 – SoroushA

+0

--- Android Studio迫使我更改为CommentModel ar = resultList.get(i);而不是String ar = resultList.get(i);这是对的吗 .. ? –