U vraagt de _id niet op uit de database (alleen de KEY_NAME2-kolom), dus u kunt deze niet van de adapter ophalen.
Deze regel:
Cursor cur = (Cursor) parent.getItemAtPosition(position);
is helemaal fout. U probeert een tekenreeks te casten (die wordt geretourneerd door ArrayAdapter<String>
naar een cursor, die nooit kan werken.
Wat u moet doen, is een CursorAdapter
. gebruiken (of SimpleCursorAdapter
) voor uw ListView. De cursor moet minimaal zoeken naar _id en KEY_NAME2.
Met deze adapter de getItem(int position)
zal een cursor terugzetten naar de gevraagde positie. Het enige wat u hoeft te doen is cursor.getInt(cursor.getColumnIndex("_id"))
en je bent er.