Lebih
Sederhana Android grid contoh menggunakan RecyclerView dengan GridLayoutManager (seperti GridView)
Saya tahu bahwa RecyclerView
telah menggantikan fungsi tua ListView
dan GridView
. Saya mencari sebuah contoh yang sangat dasar yang menunjukkan minimal grid setup menggunakan RecyclerView
. Saya tidak mencari panjang tutorial gaya penjelasan, hanya sedikit contoh. Saya membayangkan sederhana grid yang meniru tua GridView akan terdiri dari beberapa fitur berikut:
- beberapa sel per baris
- tampilan tunggal di setiap sel
- merespon peristiwa klik
181
3
Jawaban singkat
Bagi mereka yang sudah akrab dengan pengaturan
RecyclerView
untuk membuat daftar, kabar baiknya adalah bahwa membuat grid adalah sebagian besar sama. Anda hanya menggunakanGridLayoutManager
bukanLinearLayoutManager
ketika anda mengaturRecyclerView
up.Jika anda membutuhkan bantuan lebih dari itu, maka simak contoh berikut.
Contoh lengkap
Berikut adalah sedikit contoh yang akan terlihat seperti gambar di bawah ini.
Mulai dengan kosong kegiatan. Anda akan melakukan tugas-tugas berikut untuk menambah
RecyclerView
grid. Semua yang perlu anda lakukan adalah copy dan paste kode di setiap bagian. Kemudian anda dapat menyesuaikannya sesuai dengan kebutuhan anda.Update Gradle dependensi
Pastikan berikut dependensi dalam aplikasi anda
gradle.membangun
file:Anda dapat memperbarui nomor versi untuk apa pun yang terkini.
Membuat aktivitas tata letak
Tambahkan
RecyclerView
untuk xml layout.activity_main.xml
Membuat sel grid layout
Setiap sel dalam
RecyclerView
grid hanya akan memiliki satuTextView
. Membuat layout baru resource file.recyclerview_item.xml
Membuat adaptor
The
RecyclerView
membutuhkan sebuah adaptor untuk mengisi dilihat di masing-masing cell dengan data anda. Buat sebuah file java.MyRecyclerViewAdapter.java
Catatan
GridView
dan merupakan kebutuhan umum. Anda dapat menghapus kode ini jika anda don't membutuhkannya.Menginisialisasi RecyclerView dalam Kegiatan
Tambahkan kode berikut untuk aktivitas utama anda.
MainActivity.java
Catatan
ItemClickListener
yang kita definisikan di adaptor. Hal ini memungkinkan kita untuk menangani sel klik acara dionItemClick
.Selesai
Yang's ini. Anda harus mampu untuk menjalankan proyek anda sekarang dan mendapatkan sesuatu yang mirip dengan gambar di atas.
Terjadi
Sudut-sudut membulat
Auto-pas kolom
Studi lebih lanjut
Meskipun saya suka dan menghargai Suragch's jawaban, saya ingin meninggalkan catatan karena saya menemukan bahwa coding Adaptor (
MyRecyclerViewAdapter
) untuk menentukan dan mengekspos Pendengar metodeonItemClick
isn't cara terbaik untuk melakukannya, karena tidak menggunakan kelas enkapsulasi dengan benar. Jadi saran saya adalah untuk membiarkan Adaptor menangani Mendengarkan operasi semata-mata (yang's tujuan-nya!) dan memisahkan mereka dari Aktivitas yang menggunakan Adaptor ** (MainActivity
). Jadi, ini adalah bagaimana saya akan membuat class Adapter:MyRecyclerViewAdapter.java
Harap dicatat
onItemClick
metode yang sekarang didefinisikan dalamMyRecyclerViewAdapter
itu adalah tempat di mana anda ingin kode anda tugas untuk kegiatan/tindakan yang diterima.Hanya ada perubahan kecil yang harus dilakukan dalam rangka untuk menyelesaikan transformasi: Kegiatan doesn't perlu menerapkan
MyRecyclerViewAdapter.ItemClickListener
lagi, karena sekarang yang dilakukan sepenuhnya oleh Adaptor. Hal ini kemudian akan menjadi akhir modifikasi:MainActivity.java
Yo Harus Mengatur recyclerview layoutmanager untuk Gridlayout Mode , Untuk Melakukan hal Ini Hanya mengubah kode anda ketika anda Ingin Mengatur RecyclerView LayoutManager :
Catatan : mengganti Jumlah Kolom Yang anda inginkan dengan ###MEMBANTU###
recyclerView.setLayoutManager(baru GridLayoutManager(getActivity(),###MEMBANTU###));