我有一个ListView lv
使用Cursor c
SQL 数据库中的 a 来填充它。选择了一个项目时,我需要获取行的ID。我怎样才能做到这一点?
问问题
2934 次
2 回答
2
我假设您使用的是 SimpleCursorAdapter (或类似的),所以我会使用OnItemClickListener:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// id references the SQLiteDatabase _id column
}
});
于 2012-09-04T17:50:53.697 回答
1
这就是它对我的影响。在另一个类中,我创建了一个 List 类型的方法,并在 sqlite 数据库的列表中添加了列 ID 和项目的名称。
这是一段用于检索所选项目的列 ID 的代码。
public List<String> list;
adapt = new MyAdapter(this, R.layout.list_inner_view, list); //custom adapter
listTask.setAdapter(adapt);
listTask.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position, long l) {
Integer id = list.get(position).getId();
//position is the position of the item in the list.
}
});
结果:该项目在列表中的第 3 位。它的数据库 column_id(自动增量)值是 12,因为我已经删除了以前的项目。所以你期望的结果是 12,也就是变量 id 的值。
如果您不完全理解这一点,可能是因为我没有发布我的整个代码。但我会帮你解决你的问题。
于 2015-02-10T09:07:39.163 回答