我有一个名为users(_id,name)的数据库。 我使用以下方法以名称的升序获取所有记录
public Cursor getAllNames() {
return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME },
null, null, null, KEY_NAME+" ASC", null);
}
现在我正在List活动中检索Cursor,如下所示
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();
}
我正在尝试使用简单光标适配器来迭代名称并将其分配给列表视图。但既然已经贬值了怎么实现相同的呢?
答案 0 :(得分:3)
SimpleCursorAdapter尚未弃用,one of it's constructors has。如果你想将Cursor数据附加到ListView,那么我强烈建议使用SimpleCursorAdapter选项,因为它是最简单的方法。我相信新的SimpleCursorAdapter是在v4支持库中提供的。
答案 1 :(得分:2)
您可以创建扩展BaseAdapter的自定义适配器并保存项目的ArrayList。 调用getAllNames()并在Cursor中拥有所有项目后,迭代Cursor并将所有这些项目放入CustomAdapter的ArrayList中。然后将CustomAdapter设置为ListView适配器。