ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();while (result.moveToNext()) {
     map.put("name", result.getString(result.getColumnIndex("name")));
     map.put("address", result.getString(result.getColumnIndex("address")));
     list.add(map);
}SimpleAdapter listadapter = new SimpleAdapter(Show.this, list,
R.layout.show_result, new String[] { "name", "address" },
new int[] { R.id.show_name, R.id.show_address });这样写,如果输出结果的话,得到的只有最后一条。重复x次(如果数据里有x条记录)
如何能输出全部记录呢??

解决方案 »

  1.   

    把取得cursor 的那句 写出来, 我看看
      

  2.   

    Cursor result = db.query("userinfo",
    new String[] { "name", "address" }, null, null, null, null,
    null);
      

  3.   

    你看这样做行吗?
    Cursor result = 
        db.rawQuery("SELECT * FROM phoneCalllog ORDER BY callogDate DESC LIMIT ?,?",
        new String[] { "name", "address" }, null, null, null, null,null);取得的时候:
      while(result.moveToNext()){
    String name = cursor.getString(cursor.getColumnIndex("number")); String address= cursor.getString(cursor.getColumnIndex("address"));
            }
      

  4.   

      更正下, 那个查询的表, 是你的表 不是“phoneCalllog”查询语句可以这样写:SELECT * FROM userinfo
      

  5.   

    我在API上查到rawquery好像没有你写的这么多参数。while也只是放到变量里,我要放到list.add(map);
    里,在ListView显示。
      

  6.   

      那把后面的参数删了就行了, 关键是这个cursor取得正确与否, 你可以试一试再说嘛, 名字和地址都给你取号了, 你想往哪放, 就自己放呗。 我还给都写出来啊
      

  7.   

    在 while 里面 new HashMapwhile (result.moveToNext()) {
      HashMap<String, String> map = new HashMap<String, String>();
      map.put("name", result.getString(result.getColumnIndex("name")));
      map.put("address", result.getString(result.getColumnIndex("address")));
      list.add(map);
    }
      

  8.   

    我也需要做一个返回Map的功能,请问楼主实现了吗?能讲解一下吗?