gpt4 book ai didi

java - 我们如何使用 SimpleCursorAdapter 将数据库中的 ID 用作 Listview ID?

转载 作者:行者123 更新时间:2023-12-01 14:37:22 24 4
gpt4 key购买 nike

我是 Android 新手,开始研究数据库和 ListView 。我想使用 subjectID 作为我创建的 ListView 的 ID。这样我就可以在点击某个项目时使用该 ID 从数据库中查询记录。我知道这个问题被问了很多次,但似乎对我没有任何作用。预先感谢您的帮助。

部分 SQL:subjectID 作为 _id

我有这段代码:

 String[] dataColumns = { "subjectName","shortemail", "lastScanDate", "lastScore" } ;
int[] viewIDs = { R.id.list_column1 , R.id.list_column2, R.id.list_column3, R.id.list_column4 };


SimpleCursorAdapter adapter
= new SimpleCursorAdapter(
this, // The Context for the ListView
R.layout.subject_line, // Points to the XML for a list item
cursor, // The cursor to get items from
dataColumns,
viewIDs
);


setListAdapter(adapter);
db.close();



public void onListItemClick(ListView l, View v, int position, long id) {

//codes here

}

最佳答案

如果你阅读CursorAdapter的源代码,你可以发现:

   public long getItemId(int position) {
if (mDataValid && mCursor != null) {
if (mCursor.moveToPosition(position)) {
return mCursor.getLong(mRowIDColumn);
} else {
return 0;
}
} else {
return 0;
}
}

并且分配了mRowIDColumn:

 mRowIDColumn = cursorPresent ? c.getColumnIndexOrThrow("_id") : -1;

这意味着,如果您使用“_id”作为数据库 ID,getItemId() 将已经是数据库的 ID。

关于java - 我们如何使用 SimpleCursorAdapter 将数据库中的 ID 用作 Listview ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com