2012-07-13 110 views
-1

我的ArrayList<HashMap<String, String>> songslist没有值。在我的doInBackground方法中,我有for循环应该填充此ArrayList。字符串“ID”,“解释”......也有它的价值。哪里有问题?这里代码:ArrayList <HashMap <String,String >>没有值

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

发布完整的方法。 – hvgotcodes 2012-07-13 13:09:31

+4

你调试吗?可能charts.length()== 0 – Nullpo 2012-07-13 13:09:50

+0

它不进入循环。 @Nullpo是对的。 – 2012-07-13 13:19:13

回答

2

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

1)songslist被搞砸了。您不会显示其创建的内容/方式,您认为charts中包含项目,但它不包含。

+0

我会发布完整的方法... ArrayList > songslist; 歌曲列表被创建INT在ShowCharts活动上方的OnCreate – Andy 2012-07-13 15:18:20

2

你没有进入循环。您的发布代码确定。 charts.length()== 0

+0

我进入循环,当我调试解释,ID等有值,但只是跳过哈希映射后的线.. – Andy 2012-07-13 15:31:21

+0

之前“songslist.add(地图);” ,放入“System.out.println(歌曲列表)”,并复制该控制台线。 – Nullpo 2012-07-13 16:40:24

+0

我不能用这种方式使用System.out.println(歌曲列表)...我为Android开发,它似乎有点难以打印出来,因为“Log.d”domonst工作(String,ArrayList) – Andy 2012-07-13 16:51:48

相关问题