-1

ArrayList<HashMap<String, String>> songslist的没有价值。在我的doInBackground方法中,我有应该填充这个 ArrayList 的 for 循环。字符串“id”、“interpret”……也有值。问题出在哪里?这里的代码:

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 包含这些值。

4

2 回答 2

2

创建地图并将元素放入列表的代码是可以的。所以它要么

1)songslist搞砸了。您没有显示它在哪里/如何创建
2)您认为其中charts有项目,但事实并非如此。

于 2012-07-13T13:10:24.823 回答
2

你没有进入循环。您发布的代码可以。图表长度() == 0

于 2012-07-13T13:45:27.553 回答