SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como obter id do banco de dados ao clicar no item listview no android


Você não está consultando o _id do banco de dados (somente a coluna KEY_NAME2), portanto não pode obtê-lo do adaptador.

Está linha:
Cursor cur = (Cursor) parent.getItemAtPosition(position);

está totalmente errado. Você está tentando converter uma String (que é retornada por ArrayAdapter<String> para um cursor, que nunca pode funcionar.

O que você precisa fazer é usar um CursorAdapter (ou SimpleCursorAdapter ) para seu ListView. O cursor deve consultar pelo menos _id e KEY_NAME2.

Com este adaptador o getItem(int position) retornará um cursor definido para a posição solicitada. Então tudo que você precisa fazer é cursor.getInt(cursor.getColumnIndex("_id")) e você está lá.