我有一个在 ListView 中显示通话记录的 Activity 。此处用于填充 ListView 的适配器扩展了 CursorAdapter。 Listview 设置为 onItemClickListener(..)。我的问题是每当单击一个项目时,光标如何获取数据? cursor 怎么知道哪个位置被点击了,只需要从被点击的位置获取数据呢?我提供了一个代码 fragment 。
public class CallLog extends Activity
{
ListView mListView;
Cursor cursor;
//other variables
public void OnCreate()
{
setContentView(R.layout.calllog);
//SQLiteDatabaseInstance db
cursor = db.query(...parameters to get all call logs...);
mListView.setOnItemClickListener(this);
}
public void OnItemClick( // all arguments... )
{
//there is a column name 'NAME' in call log table in database
String name = cursor.getString(cursor.getColumnIndex(Database.NAME))
//here name is obtained of the clicked item.
}
游标是一个结果集。光标如何知道单击了哪个项目?游标隐式调用哪些方法可以为其提供所点击项目的位置?
如果有任何类似问题的链接,请提供。
我希望我能让你理解这个问题。谢谢
最佳答案
试试这个:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//move cursor to clicked row
cursor.moveToPosition(position);
}
关于android - 光标如何知道在 ListView 中单击了哪个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110471/