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)});