我有一个ListView
(在一个Activity
而不是在一个ListActivity
),它利用一个自定义光标适配器从我的本地数据库中获取一些数据并将它们显示在ListView
.
lv.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id)
{
Log.i(tag, "position = " + position);
Log.i(tag, "id is : " + id));
}
});
假设我的数据库列如下:
身份证、姓名、姓氏、出生日期、身高、性别、出生地、婚姻状况。
但是,我在列表视图 (row.xml) 中只显示姓名和姓氏。但每当用户点击列表中的某一行时,我也想检索其余数据,例如,id 或点击行的性别。
问题是,我没有显示列表中 db 行中的所有信息,但是,当用户按下列表时,我需要检索该列表的一些数据。我怎么能在这里做到这一点?
下面的方法不起作用,因为我不在 ListActivity 中,而只是 Activity。
public void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
Cursor c = ((SimpleCursorAdapter)l.getAdapter()).getCursor();
c.moveToPosition(position);
//get the data...
}