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

Simpan posisi baru item RecyclerView di SQLite setelah diseret dan dijatuhkan

Anda memerlukan bidang di setiap baris DB untuk menyimpan pesanan. Kemudian Anda perlu mengimplementasikan fitur-fitur itu:

  • Pada penyisipan baris baru (ketika Anda memasukkan objek baru ke dalam database), Anda perlu mengatur urutan bidang ke int berikutnya. Anda bisa mendapatkan nilai maks saat ini (dengan fungsi sql MAX ) lalu lakukan +1

  • Saat pengguna memindahkan item di RecyclerView , dalam metode onMoved Anda harus memperbarui semua baris lainnya. Anda dapat menggunakan fromPos dan toPos untuk itu. Selengkapnya di bawah

  • Saat Anda mengisi RecyclerView dengan data yang Anda butuhkan untuk memesannya dengan order bidang


Penjelasan fitur ke-2 yang akan diterapkan:pada dasarnya Anda perlu memperbarui semua baris dengan urutan antara fromPos dan toPos :

  • jika pengguna memindahkan item ke atas (misalnya dari posisi 4 ke 2), Anda perlu:

    1. dapatkan bidang kunci utama dari item saat ini (menggunakan posisi 4)
    2. ubah semua baris di antara urutan 2 dan pesan 4 :jadi ubah 2 -> 3 dan 3 -> 4
    3. Ubah urutan item saat ini (menggunakan kunci utama dari poin pertama) menjadi toPos :dalam contoh ini ubah urutan item saat ini menjadi 2
  • jika pengguna memindahkan item ke bawah (misalnya dari posisi 2 ke 4) Anda perlu:

    1. dapatkan bidang kunci utama dari item saat ini (menggunakan posisi 2)
    2. ubah semua baris antara urutan 2 dan urutan 4:jadi ubah 4 -> 3 dan 3 -> 2
    3. ubah urutan item saat ini (menggunakan kunci utama dari poin pertama) menjadi toPos :dalam contoh ini ubah urutan item saat ini menjadi 4


Semoga sedikit membantu




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengambil gambar dari database SQLite?

  2. 4 Mode Output Tabular di SQLite

  3. IntentService membekukan UI aplikasi saya

  4. Lampirkan String dalam Kutipan Tunggal di Hasil Query SQLite

  5. Database sqlite memperbarui baris android