for (Iterator iterator = mp3Infos.iterator(); iterator.hasNext();) {
Mp3Info mp3Info = (Mp3Info) iterator.next();
HashMap<String, String> map = new HashMap<String, String>();
map.put("mp3_name", mp3Info.getMp3Name());
map.put("mp3_size", mp3Info.getMp3Size());
list.add(map);
System.out.println(list.get(0));
}
mp3Infos里有两条数据
这样两次输出是一样的,都为mp3Infos里的第一个数据
若把
HashMap<String, String> map = new HashMap<String, String>();
放在for循环之前,第一次输出为mp3Infos里的第一个数据,第二次输出的是mp3Infos里的第二个数据
调试时发现,在list放第二个数据时,list里的第一个数据也变成了第二个数据
求解释~~~~~~~~~~~~~~
Mp3Info mp3Info = (Mp3Info) iterator.next();
HashMap<String, String> map = new HashMap<String, String>();
map.put("mp3_name", mp3Info.getMp3Name());
map.put("mp3_size", mp3Info.getMp3Size());
list.add(map);
System.out.println(list.get(0));
}
mp3Infos里有两条数据
这样两次输出是一样的,都为mp3Infos里的第一个数据
若把
HashMap<String, String> map = new HashMap<String, String>();
放在for循环之前,第一次输出为mp3Infos里的第一个数据,第二次输出的是mp3Infos里的第二个数据
调试时发现,在list放第二个数据时,list里的第一个数据也变成了第二个数据
求解释~~~~~~~~~~~~~~
解决方案 »
- ubuntu 下编译android 2.3 报错stubs-32.h找不到
- MyEclipse 10.0 配置Android 开发环境
- 一个头疼了一周的问题,webview 监听最后一次页面加载结束
- GPRS拨号 pppd exit 127
- 移植linux内核程序到Android下的问题。
- Android系统起来后,第一次可以解锁,运行了一段时间屏幕再锁就再也解不开,触摸屏驱动工作正常
- Android 线程 死机
- Android总是报些不知名的错误!!
- android是什么
- android 中使用 传感模拟器报错,求解!!
- 请教 android EditText设置行间距后字符怎么不居中显示了
- android欢迎界面中加一段语音
HashMap<String, String> map = new HashMap<String, String>();
map.put("mp3_name", mp3Info.getMp3Name());
map.put("mp3_size", mp3Info.getMp3Size());
list.add(map);
}
每循环一次list中添加了一条记录
有2个数据
"mp3_name" -- mp3Info.getMp3Name()
"mp3_size" -- mp3Info.getMp3Size()
//---------------------------------------------
HashMap<String, String> map = new HashMap<String, String>();
for{
map.put("mp3_name", mp3Info.getMp3Name());
map.put("mp3_size", mp3Info.getMp3Size());
list.add(map);
map.clear();//清除map里已添加数据,如果没有此句,map里的数据会不断累增
}
楼主的这句:
放在for循环之前,第一次输出为mp3Infos里的第一个数据,第二次输出的是mp3Infos里的第二个数据
不太明白
而且System.out.println(list.get(0));这句代码是否需要改一下
HashMap<String, String> map = list.get(0);//此处 .get()中若一直为 0 ,则一直指向第一条记录
System.out.println(map.get("mp3_name"));取出key对应的内容。
已经解决了,list.add加入了map的内存地址,不new的话会在list加入两条数据,同一个内存地址
O(∩_∩)O谢谢