2012-02-22 111 views
0

我创建了一个显示数据库中所有人的列表视图。但是,如何获得我选择的行ID,以便将该信息传递给下一个活动。从Android SQlite数据库获取列表视图的行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。

回答

1

使用setOnItemClickListenerListview那么你将得到所选项目的ID(项目编号为0,但数据库_id列开始从1开始,所以你应该送id+1,请确认这一点)。

并使用意图发送ID。

2

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

+0

我认为它的getItemId没有getitemId – 2012-02-22 17:29:10

+1

你是对的,答案已经更新。 – 2012-02-22 17:56:09

0

您必须先注册实施,并添加OnItemClickListener到列表中,这样就可以被点击的项目时做出反应。项目ID将被传递到OnItemClickListener的onListItemClick()方法中。

相关问题