SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Cách lấy id từ cơ sở dữ liệu khi nhấp vào mục listview trong android

Bạn không truy vấn _id từ cơ sở dữ liệu (chỉ cột KEY_NAME2), vì vậy bạn không thể lấy nó từ bộ điều hợp.

Dòng này:

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

là hoàn toàn sai. Bạn đang cố truyền một chuỗi (được trả về bởi ArrayAdapter<String> con trỏ, con trỏ không bao giờ có thể hoạt động.

Những gì bạn phải làm là sử dụng CursorAdapter (hoặc SimpleCursorAdapter ) cho ListView của bạn. Con trỏ ít nhất phải truy vấn _id và KEY_NAME2.

Với bộ điều hợp này, getItem(int position) sẽ trả về một con trỏ được đặt ở vị trí được yêu cầu. Sau đó, tất cả những gì bạn cần làm là cursor.getInt(cursor.getColumnIndex("_id")) và bạn đang ở đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận thứ Hai đầu tiên, thứ hai, thứ ba hoặc thứ tư của tháng trong SQLite

  2. Khóa chính của SQLite AutoIncrement không hoạt động

  3. executeSQL:bindargs có tốt hơn không?

  4. Tạo Thực thể Phòng cho Bảng có trường có kiểu dữ liệu DÀI trong Sqlite

  5. nhập cơ sở dữ liệu sqlite đã được tạo (xamarin)