从Android SQlite数据库获取列表视图的行ID

时间:2012-02-22 17:18:12

标签: java android database sqlite listview

我创建了一个列表视图,显示数据库中的所有人。但是如何获取我选择的行ID,以便将该信息传递给下一个活动。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.load_game1);

    listContent = (ListView)findViewById(R.id.contentlist);

    mDbAdapter = new DbAdapter(this);
    mDbAdapter.open();
    Cursor cursor = mDbAdapter.fetchAll();
    startManagingCursor(cursor);
    String[] from = new String[]{DbAdapter.KEY_NAME, DbAdapter.KEY_ROWID};
    int[] to = new int[]{R.id.text};
    cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor, from, to);
    listContent.setAdapter(cursorAdapter);
    mDbAdapter.close();
    }

显示哪个 displays http://i.minus.com/iGEtGKGyF1Wgc.png

现在我想点击一个名称从数据库中获取该行ID。

3 个答案:

答案 0 :(得分:2)

使用此API调用:cursorAdapter.getItemId(positionInListView)

答案 1 :(得分:1)

setOnItemClickListener上使用Listview,然后您将获得所选项目的ID(项目ID从0开始,但数据库_id列从1开始,因此您应发送id+1,请确认一下。)

使用意图发送id。

答案 2 :(得分:0)

您必须注册工具并在列表中添加OnItemClickListener,以便在单击项目时做出反应。 item id将被传递给OnItemClickListener的onListItemClick()方法。