sql >> Base de Datos >  >> RDS >> SQLite

Cómo obtener una identificación de la base de datos al hacer clic en el elemento de vista de lista en Android

No está consultando el _id de la base de datos (solo la columna KEY_NAME2), por lo que no puede obtenerlo del adaptador.

Esta línea:

Cursor cur = (Cursor) parent.getItemAtPosition(position);

está completamente equivocado. Está intentando emitir una cadena (que es devuelta por ArrayAdapter<String> a un cursor, que nunca puede funcionar.

Lo que tienes que hacer es usar un CursorAdapter (o SimpleCursorAdapter ) para su ListView. El cursor debe consultar al menos _id y KEY_NAME2.

Con este adaptador el getItem(int position) devolverá un cursor establecido en la posición solicitada. Entonces todo lo que necesitas hacer es cursor.getInt(cursor.getColumnIndex("_id")) y estás ahí.