2012-02-22 3 views
0

나는 데이터베이스의 모든 사람들을 표시하는 listview를 만들었습니다. 그러나 내가 선택한 정보의 행 ID를 어떻게 얻으면 나는 그 정보를 다음 활동으로 전달할 수 있습니다. displays http://i.minus.com/iGEtGKGyF1Wgc.png안드로이드 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(); 
    } 

는 지금은 데이터베이스에서 해당 행 ID를 얻을 이름을 누릅니다.

답변

1

사용 setOnItemClickListener 당신의 Listview 당신은 그래서 당신은 id+1를 보내야 하나에서 시작되는 항목의 ID가 0하지만 데이터베이스 _id 컬럼에서 시작 선택한 항목의 ID를 (얻을 것이다, 제발 이것을 확인하십시오).

인 텐트를 사용하여 ID를 보냅니다.

2

사용이 API 호출 :에 cursorAdapter.getItemId(positionInListView)

+0

나는 getItemId가 getitemId가 아니라고 생각한다. –

+1

당신이 맞다면 대답이 업데이트되었다. –

0

구현을 등록하고 OnItemClickListener을 목록에 추가하면 항목을 클릭 할 때 반응 할 수 있습니다. 항목 ID는 OnItemClickListener의 onListItemClick() 메서드로 전달됩니다.

관련 문제