SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak uzyskać identyfikator z bazy danych po kliknięciu elementu listy w Androidzie?

Nie wysyłasz zapytania o identyfikator _id z bazy danych (tylko kolumna KEY_NAME2), więc nie możesz pobrać go z adaptera.

Ta linia:

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

jest całkowicie błędne. Próbujesz rzutować String (który jest zwracany przez ArrayAdapter<String> do kursora, który nigdy nie może działać.

Musisz użyć CursorAdapter (lub SimpleCursorAdapter ) dla Twojego ListView. Kursor powinien pytać co najmniej o _id i KEY_NAME2.

Z tym adapterem getItem(int position) zwróci kursor ustawiony na żądaną pozycję. Wtedy wszystko, co musisz zrobić, to cursor.getInt(cursor.getColumnIndex("_id")) i jesteś tam.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite nie ma takiej kolumny

  2. Jak zmienić wiersz poleceń w SQLite?

  3. onCreate() funkcji RoomDatabase.Callback() nie został wywołany po pomyślnym wywołaniu funkcji .build()

  4. Nie można otworzyć bazy danych w trybie odczytu/zapisu

  5. Zdobądź pierwszy poniedziałek miesiąca w SQLite