我无法从以下代码中读取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的值我认为以正确的方式将值放在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);
}
}
答案 0 :(得分:1)
Map
的密钥为String
而不是Integer
。
results.get(0).get(commentModelList);
不是将Integer作为键传递,而是使用String作为键,作为回报,您将得到List。
List<CommentModel> comments = results.get("value_of_id");
答案 1 :(得分:0)
你倒退了。
name = input ("what is your name")
if name == ("x") or ("y"):
print ("Hello")
elif name == "n" or name == "m" or name == "N" or name == "M":
print ("a")
else:
print ("b")