我正在尝试开发的应用程序有问题。这是一款安卓的音乐游戏,我从 iTunes 获取所有数据。
这是我获取数据的部分。我有 2 个列表:
- 列出canzoni:大小5,字段:previewUrl、artistName、trackName、artistViewUrl 和artworkUrl100。
- List dieciCanzoni:大小为 10,必须包含上述列表的 10 个元素。
这是填充列表的代码:
try
{
int randomLookupId;
JSONObject obj = getJSONObject(url);
JSONArray jsonArray = obj.getJSONArray("resultIds");
for(int i = 0; i < 10; i++)
{
canzoni.clear();
randomLookupId = new Random().nextInt(jsonArray.length());
JSONObject finalObj = getJSONObject("http://itunes.apple.com/lookup?id="+jsonArray.getString(randomLookupId));
JSONArray finalJsonArray = finalObj.getJSONArray("results");
JSONObject returnObj = finalJsonArray.getJSONObject(0);
canzoni.add(returnObj.getString("previewUrl"));
canzoni.add(returnObj.getString("artistName"));
canzoni.add(returnObj.getString("trackName"));
canzoni.add(returnObj.getString("artistViewUrl"));
canzoni.add(returnObj.getString("artworkUrl100"));
Canzone.dieciCanzoni.add(i, canzoni);
}
}
catch (JSONException ignored)
{
ignored.getCause();
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
信息的检索效果很好,我只有一个问题:当我清除列表canzoni时,我注意到列表dieciCanzoni也被清除了,显然我不想那样!
如果我评论清除canzoni列表的行,在dieciCanzoni列表中只插入canzoni中的最后一个值,即使之前插入的值也会改变!
你能帮我弄清楚吗?
谢谢你们!