Android 安卓如何通过游标填充ListView

Android 安卓如何通过游标填充ListView,android,listview,simplecursoradapter,Android,Listview,Simplecursoradapter,我有一个数据库,其中有一个名为users(_id,name)的表。 我使用以下方法以名称的升序获取所有记录 public Cursor getAllNames() { return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME }, null, null, null, KEY_NAME+" ASC", null); } 现在,我在列表活动中检索光标,如下所示 DBAdapter db= n

我有一个数据库,其中有一个名为users(_id,name)的表。 我使用以下方法以名称的升序获取所有记录

public Cursor getAllNames() {
    return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME },
            null, null, null, KEY_NAME+" ASC", null);
}
现在,我在列表活动中检索光标,如下所示

DBAdapter db= new DBAdapter(this);

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lview);
    ListView l=(ListView) findViewById(R.id.listView1);
    db.open();
    Cursor c=db.getAllNames();
    db.close();
}

我试图使用简单的游标适配器来迭代名称并将其分配给列表视图。但是既然它已经贬值了,如何实现同样的效果呢?

您可以创建一个自定义适配器,扩展BaseAdapter并保存一个项目的ArrayList。
在调用getAllNames()并将所有项都放在光标中之后,在光标上迭代并将所有这些项从CustomAdapter放入ArrayList中。然后将CustomAdapter设置为ListView适配器。

您可以创建一个自定义适配器,扩展BaseAdapter并保存项目的ArrayList。
在调用getAllNames()并将所有项都放在光标中之后,在光标上迭代并将所有这些项从CustomAdapter放入ArrayList中。然后只需将CustomAdapter设置为ListView适配器。

SimpleCorsorAdapter尚未被弃用。如果您想将光标数据附加到ListView,那么我强烈建议使用SimpleCursorAdapter选项,因为这是最简单的方法。我相信v4支持库中提供了新的SimpleCrsorAdapter。

SimpleCrsorAdapter尚未被弃用。如果您想将光标数据附加到ListView,那么我强烈建议使用SimpleCursorAdapter选项,因为这是最简单的方法。我相信v4支持库中提供了新的SimpleCorsorAdapter。

我是android新手。那么,你能展示一些示例语法吗?这样我就可以得到解决方案了。@Andrew,更好的方法是使用SimpleCorsorAdapter.defect。这只是另一种选择。我对安卓系统还不熟悉。那么,你能展示一些示例语法吗?这样我就可以得到解决方案了。@Andrew,更好的方法是使用SimpleCorsorAdapter.defect。这只是一个备选方案。@LalitPoptani是示例代码吗?是的,您可以下载并检查它。@LalitPoptani是示例代码吗?是的,您可以下载并检查它。这应该是公认的答案。不需要复制所有项目就可以在ListView中显示它们。这应该是可以接受的答案。不需要复制所有项目,只需将其显示在ListView中即可。