2 回答
TA贡献1784条经验 获得超9个赞
尝试这个:
HashMap<String,String> map;
while(cursor.moveToNext())
{
map = new HashMap<String,String>();
map.put("vehicle_type", cursor.getString(1));
map.put("date", cursor.getString(3));
lst_driver.add(map);
}
TA贡献1821条经验 获得超4个赞
你的问题来自这个片段。问题是map总是相同的 Map instance,而您只是在更改它所拥有的内容。
HashMap<String,String> map = new HashMap<String,String>();
while(cursor.moveToNext())
{
map.put("vehicle_type", cursor.getString(1));
map.put("date", cursor.getString(3));
lst_driver.add(map);
}
一个简单的解决方法是每次使用不同的地图:
while(cursor.moveToNext())
{
HashMap<String,String> map = new HashMap<String,String>();
map.put("vehicle_type", cursor.getString(1));
map.put("date", cursor.getString(3));
lst_driver.add(map);
}
通过map在while循环内移动声明和初始化,您可以保证循环中的每次迭代都使用不同的Map实例。
添加回答
举报