Anda tidak menanyakan _id dari database (hanya kolom KEY_NAME2), jadi Anda tidak bisa mendapatkannya dari adaptor.
Baris ini:
Cursor cur = (Cursor) parent.getItemAtPosition(position);
sepenuhnya salah. Anda mencoba untuk melemparkan sebuah String (yang dikembalikan oleh ArrayAdapter<String>
ke kursor, yang tidak pernah bisa berfungsi.
Yang harus Anda lakukan adalah menggunakan CursorAdapter
(atau SimpleCursorAdapter
) untuk ListView Anda. Kursor harus menanyakan setidaknya _id dan KEY_NAME2.
Dengan adaptor ini getItem(int position)
akan mengembalikan kursor yang disetel ke posisi yang diminta. Maka yang perlu Anda lakukan hanyalah cursor.getInt(cursor.getColumnIndex("_id"))
dan Anda di sana.