SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Hapus Kueri Dan Segarkan di ListView di Android (sqlite)

Pertama, saya tidak dapat menghapus transaksi (baris) yang diambil dari database

Baris 61 menampilkan hasil arg0.getItemAtPosition(arg2) ke Cursor , tetapi tipe pengembaliannya mungkin HashMap (seperti yang tertulis di output Logcat). Biasanya Anda mendapatkan Cursor dari kueri basis data.

Jika Anda memasukkan ID untuk setiap baris database ke dalam HashMap saat Anda membuatnya, Anda akan dapat meneruskan ID tersebut ke deleteTransaction() Anda hubungi onClick . Anda peristiwa. Jadi, Anda perlu

temp.put("Id", localCursor.getInt(localCursor.getColumnIndex("_id")));

di getAllTransaction() , lalu revisi onClick() . Anda metode untuk melakukan sesuatu seperti ini:

localDbCrud.open();
HashMap itemMap = (HashMap)localAdapter.getItem(arg2);
int item_id = Integer.parseInt((String)itemMap.get("Id"));
DbCrud.deleteTransaction(item_id);
localDbCrud.close();

Saya juga menyarankan mengganti nama arg2 (dan lainnya) untuk memiliki nama yang lebih jelas sehingga kode lebih mudah diikuti.

Kedua, saya perlu tahu cara menyegarkan tampilan daftar setelah menghapus entri

Anda dapat memanggil notifyDataSetChanged() pada adaptor Anda untuk menyegarkan ListView setelah Anda membuat perubahan pada set data.

EDIT:Harap perhatikan bahwa SimpleAdapter dimaksudkan untuk data statis, jadi jarak tempuh Anda mungkin berbeda. Solusi terbaik mungkin adalah beralih ke jenis adaptor yang berbeda, seperti ArrayAdapter , atau buat SimpleAdapter baru setiap kali Anda mengubah kumpulan data.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jika tabel saya memiliki 4 kolom dan saya ingin mengambil kolom ke-3 apa yang harus saya lakukan.

  2. cara meletakkan database dan membaca database dari folder aset android yang dibuat dan diekspor di sqllite

  3. SQLite Kecuali

  4. Pengembang Entitas dan Penyedia Data ADO.Net Sekarang Mendukung Entity Framework Core 5

  5. IntentService membekukan UI aplikasi saya