我有一个表,我必须从中获取具有 KEY_DATE = dat 的行。
然后我将这些行保存为对象并返回这些对象的列表。
问题是,如果我的表中有 4 个条目,那么我不是得到所有 4 行,而是得到最后一行 4 次。
这是我的代码...
while(!l.isEmpty())
{
hd = l.get(0);
l.remove(0);
map = new HashMap<String, String>();
Log.w("myapp",hd._name+hd._price+hd._qty);
map.put("item", hd._name);
map.put("price", Double.toString(hd._price));
map.put("qty", Integer.toString(hd._qty));
map.put("total", Double.toString(hd._price*hd._qty));
mylist.add(n++,map);
}
SimpleAdapter mSchedule = new SimpleAdapter(getActivity(), mylist, R.layout.details_item_list, new String[] {"item", "price", "qty" , "total"}, new int[] {R.id.col1, R.id.col2, R.id.col3, R.id.col4});
list.setAdapter(mSchedule);
这些项目正在检索,但我的列表视图显示的最后一项仅与我的 sql 表中的项目数相乘。我是否在循环中正确使用了 map.put() 和 add() 函数。