之前处理cursor的方法:此方法是有问题的!!!
public List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); while (getCursor().moveToNext()) { Map<String, Object> map = new HashMap<String, Object>(); System.out.println("ID: "+getCursor().getString(0)); map.put("_id", getCursor().getString(0)); System.out.println("NAME: "+getCursor().getString(1)); map.put("Number", getCursor().getString(1)); list.add(map); }
正确处理cursor的方法:
for(getCursor().moveToFirst();!getCursor().isAfterLast();getCursor().moveToNext()) { Map<String, Object> map = new HashMap<String, Object>(); int _id = getCursor().getColumnIndex("_id"); int _number = getCursor().getColumnIndex("phonenr"); map.put("_id", getCursor().getString(_id)); map.put("Number", getCursor().getString(_number)); System.out.println(getCursor().getString(_id)); System.out.println(getCursor().getString(_number)); list.add(map); }