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

Android - coba buka kembali objek yang sudah ditutup:SQLiteQuery menggunakan loaderManager

Kode Anda agak sulit dipahami karena pemformatan yang buruk.

Bagaimanapun, jawaban yang diberikan sebenarnya bukan perbaikan. Kursor kembali ke onLoadFinished harus dijamin tidak akan ditutup, jadi Anda memuat kursor dengan cara yang salah. Khususnya, saat Anda menelepon

adapter.getFilter().filter(s.toString());

Saya tidak benar-benar mengerti apa yang terjadi di sini, tetapi saya mengerti bahwa Anda harus melakukan sesuatu yang lain. Cukup simpan filter kueri di bidang dalam Fragment Anda dan jalankan getLoaderManager().restartLoader(DRINKS_LIST_LOADER, null, this); . Perhatikan bahwa Anda menjalankan restartLoader , dan bukan initLoader , karena Anda memiliki data berbeda yang ingin Anda kueri.

Di onCreateLoader . Anda , Anda harus menggunakan filter yang Anda simpan sebagai variabel instan untuk selection .

Beberapa latar belakang

initLoader memuat data yang dimuat pada proses terakhir, jika telah dijalankan sebelumnya. Inilah sebabnya mengapa Anda memanggil metode inisialisasi Fragmen/Aktivitas Anda. Ini berguna karena Anda tidak perlu meminta perubahan orientasi.

restartLoader membersihkan data yang dimuat sebelumnya sehingga Anda mendapatkan Loader baru untuk bekerja dengan (kemungkinan) data yang berbeda.

Jika Anda masih tidak yakin dengan apa yang Anda lakukan, pastikan untuk membaca artikel ini, yang merupakan artikel pengantar yang sangat bagus tentang Loader dengan kode contoh yang sangat mirip dengan apa yang ingin Anda capai. Loader pada awalnya cukup membingungkan, tetapi setelah Anda menguasainya, semuanya berjalan lancar.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.OutOfMemoryError:[memori habis] saat membaca data dari Sqlite Android

  2. Manajemen Data Dengan Python, SQLite, dan SQLAlchemy

  3. Apa itu Kolom yang Dihasilkan?

  4. SQLite Self-Join

  5. Bagaimana Typeof() Bekerja di SQLite