我的ArrayList<HashMap<String, String>> songslist
没有值。在我的doInBackground
方法中,我有for循环,应填充此ArrayList。字符串“id”,“解释”......也有价值。问题出在哪儿?代码如下:
JSONArray charts = json.getJSONArray(TAG_CHARTS);
// looping through All Products
for(int i=0;i<charts.length();i++) {
JSONObject json_data = charts.getJSONObject(i);
String id = json_data.getString(TAG_ID);
String interpret = json_data.getString(TAG_INTERPRET);
String titel = json_data.getString(TAG_TITEL);
String album = json_data.getString(TAG_ALBUM);
String albumcover = json_data.getString(TAG_ALBUMCOVER);
String likes = json_data.getString(TAG_LIKES);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_ID, id);
map.put(TAG_INTERPRET, interpret);
map.put(TAG_TITEL, titel);
map.put(TAG_ALBUM, album);
map.put(TAG_ALBUMCOVER, albumcover);
map.put(TAG_LIKES, likes);
songslist.add(map);
}
但列表为空。 JSONArray包含值。
答案 0 :(得分:2)
创建地图并将元素放入列表的代码是可以的。所以它要么
1)songslist
搞砸了。您没有显示其创建的位置/方式
2)您认为charts
中有项目,但事实并非如此。
答案 1 :(得分:2)
你没有进入循环。你发布的代码没问题。 charts.length()== 0