Nedotazujete se na _id z databáze (pouze sloupec KEY_NAME2), takže jej nemůžete získat z adaptéru.
Tento řádek:
Cursor cur = (Cursor) parent.getItemAtPosition(position);
je úplně špatně. Pokoušíte se přetypovat řetězec (který vrací ArrayAdapter<String>
na kurzor, který nikdy nemůže fungovat.
Co musíte udělat, je použít CursorAdapter
(nebo SimpleCursorAdapter
) pro váš ListView. Kurzor by se měl dotazovat alespoň na _id a KEY_NAME2.
S tímto adaptérem getItem(int position)
vrátí kurzor nastavený na požadovanou pozici. Pak vše, co musíte udělat, je cursor.getInt(cursor.getColumnIndex("_id"))
a jste tam.