Android ListView位置
Android ListView position
我正在开发网络浏览器,并且刚刚添加了书签。我想在列表视图中添加上下文菜单以打开和删除书签。我已经准备好代码,但是当我点击上下文菜单时,它会打开/删除最上面的项目。我真的很难让它恰到好处。
任何帮助将不胜感激。
谢谢
杰克
您可以像这样获取所选书签的 ID:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int position = info.position;
Cursor selectedBookmark = (Cursor) mAdapter.getItem(position);
int selectedBookmarkId = selectedBookmark.getInt(0); // index 0, assuming your first column is the ID
/ ...
}
获取ID后,您可以使用它从数据库中删除所选项目:
long ret = mdb.delete("bookmark", "_id = ?", new String[]{Integer.toString(selectedBookmarkId)});
我正在开发网络浏览器,并且刚刚添加了书签。我想在列表视图中添加上下文菜单以打开和删除书签。我已经准备好代码,但是当我点击上下文菜单时,它会打开/删除最上面的项目。我真的很难让它恰到好处。
任何帮助将不胜感激。
谢谢 杰克
您可以像这样获取所选书签的 ID:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int position = info.position;
Cursor selectedBookmark = (Cursor) mAdapter.getItem(position);
int selectedBookmarkId = selectedBookmark.getInt(0); // index 0, assuming your first column is the ID
/ ...
}
获取ID后,您可以使用它从数据库中删除所选项目:
long ret = mdb.delete("bookmark", "_id = ?", new String[]{Integer.toString(selectedBookmarkId)});