sql >> Databasteknik >  >> RDS >> SQLite

Hur man får id från databasen genom att klicka på listview-objektet i Android

Du frågar inte efter _id från databasen (endast kolumnen KEY_NAME2), så du kan inte hämta det från adaptern.

Denna rad:

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

är helt fel. Du försöker casta en sträng (som returneras av ArrayAdapter<String> till en markör, som aldrig kan fungera.

Vad du måste göra är att använda en CursorAdapter (eller SimpleCursorAdapter ) för din ListView. Markören bör fråga åtminstone efter _id och KEY_NAME2.

Med den här adaptern getItem(int position) kommer att återställa en marköruppsättning till önskad position. Sedan är allt du behöver göra cursor.getInt(cursor.getColumnIndex("_id")) och du är där.




  1. En guide till databasautomatisering med Severalnines ClusterControl

  2. NLS_LANG inställning för JDBC tunn drivrutin?

  3. Ska jag ange både INDEX och UNIKT INDEX?

  4. Hur kan jag fylla en kolumn med slumptal i SQL? Jag får samma värde i varje rad