Menampilkan List Data di dalam RecyclerView Dengan Library Groupie

Untuk menampilkkan data ke dalam RecylerView, sekarang kita akan menggunakan Library Groupie dan untuk menampilkan gambar di sini nanti akan menggunakan Library Volley. Sebelumnya saya telah membuat tutorial untuk Menampilkan data dari JSON URL ke dalam RecyclerView menggunkan Adapter biasa dan ViewType yang berbeda untuk menampilkan item data, sekarang dengan Groupie akan sangat kelihatan lebih simple, apalagi bila sudah menggunkan benyak ViewType atay layout yang berbeda di tiap item nya. Langsung saja, berikut step by step nya :

  1. Tambahkan Library Groupie dan Piccaso ke dalam Gradle
  2. Buat file item_list_loading.xml 
  3. Buat file item_list_post.xml 
  4. Buka activity_main.xml, tambahkan componen RecyclerView
  5. Buat package baru dengan nama Holder
  6. Pada package Holder, buat File/Class koltin dengan nama LoadingHolder.kt
  7. Masih pada package Holder, buat FIle/Class kotlin dengan nama PostHolder.kt
  8. Untuk membaca baris terakhir yang dibuka, untuk membuat loadmore, atau next page secara otomatis, tambahkan file/Clas baru dengan nama EndlessRecyclerViewScrollListener.kt
  9. Buka MainActivity.kt, tambahakan Variable berikut
  10. setting Adapter
  11. Untuk menambahakan loading progres cukup pakai kode berikut
  12. Untuk meambhakan list pada data
  13. KOde penuh MainActivity.kt
  14. Jalankan Aplikasi

Downlod Sourcode

 


Sebagai tambahan, kadang dalam proses pengammbilan data dari hosting tidak berjalan lancar atau error, bisa karena karena koneksi interet yang buruk, atau server yang mengalami down, atau bisa juga page/halaman tidak ada atau data habis. maka kita memerlukan penanganan bila terjadi kondisi di error ini. pada tutoria di atas hanya mengambil saja, bila terjadi error hanya menampilkan pesan toast saja/pesan error saja, lalu proses berhenti. disini kita akan menambahakan tombol “coba lagi” bila terjadi error, sebagai catatan, karena kita sudah membuat list dengan groupie, maka untuk menambahakan tombol “coba lagi” cuma perlu menambhakan satu holder lagi, seperti LoadingHolder. Langsung saja tambahkan step-step berikut :

  1. Buat layout baru, dengan nama item_list_error.xml, lalu isi dengan textview saja.
  2. Buat holder baru, dengan nama ErrorHolder.kt
  3. Tambahkan holder ke dalam adapter setelah LoadingHolder di hapus

  4. Ketika ErorHolder  di klik, hapus errorHolder, dan jalankan reetrofit lagi
  5. Jalankan aplikasi, bila koneksi error maka ErrorHolder akan tampil, dan bila di klik, maka getJsonData di proses lagi. (Pada contoh ini, koneksi internet saya putus setelah selesai loading page 1)

Download SourceCode

Facebook Comments