1

我有一个名为 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();
}

我正在尝试使用简单光标适配器来遍历名称并将其分配给列表视图。但是既然已经贬值了,如何达到同样的效果呢?

4

2 回答 2

3

SimpleCursorAdapter 尚未被弃用,它的构造函数之一具有. 如果您想将 Cursor 数据附加到 ListView,那么我强烈建议您使用 SimpleCursorAdapter 选项,因为它是最简单的方法。我相信 v4 支持库中提供了新的 SimpleCursorAdapter。

于 2012-10-27T14:53:15.127 回答
2

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

于 2012-10-27T14:50:37.680 回答