Dasar RecyclerView
Tampilkan daftar besar secara efisien dengan RecyclerView. Buat Adapter dan ViewHolder, lalu hubungkan data menggunakan ViewBinding.
Dasar RecyclerView adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 6. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 6 pelajaran total.
Mengapa RecyclerView?
RecyclerView adalah cara standar untuk menampilkan daftar item yang dapat digulir di Android.
Berbeda dari ListView yang lebih lama, RecyclerView:
- Mendaur ulang tampilan saat Anda menggulir — hanya membuat sebanyak yang muat di layar
- Dapat digunakan untuk daftar vertikal, daftar horizontal, dan kisi
- Sangat mudah disesuaikan dengan LayoutManagers
Arsitektur RecyclerView
RecyclerView memerlukan tiga bagian agar dapat berfungsi:
- RecyclerView — widget dalam tata letak XML Anda
- Adaptor — menghubungkan data Anda ke tampilan item
- ViewHolder — menyimpan referensi ke tampilan di dalam setiap item daftar
Adaptor membuat ViewHolders dan menghubungkan data ke dalamnya saat pengguna menggulir.
Menambahkan RecyclerView ke XML
Tambahkan widget ke tata letak dan deklarasikan dependensinya di build.gradle:
<!-- In res/layout/activity_main.xml -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- app/build.gradle dependencies: -->
<!-- implementation 'androidx.recyclerview:recyclerview:1.3.2' -->Tata Letak Item
Buat file XML terpisah untuk setiap item daftar. Contohnya, res/layout/item_fruit.xml:
<!-- res/layout/item_fruit.xml -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvCalories"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp" />
</LinearLayout>Model Data
Definisikan kelas data yang mewakili setiap item dalam daftar Anda:
data class Fruit(
val name: String,
val calories: Int
)Membuat Adaptor
Adaptor menghubungkan data Anda ke tata letak item. Adaptor memiliki tiga metode utama:
onCreateViewHolder— mengembangkan XML itemonBindViewHolder— mengisi data untuk satu itemgetItemCount— jumlah seluruh item
Implementasi Adaptor
Adaptor RecyclerView lengkap dan minimal:
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
class FruitAdapter(
private val fruits: List<Fruit>
) : RecyclerView.Adapter<FruitAdapter.ViewHolder>() {
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val tvName: TextView = view.findViewById(R.id.tvName)
val tvCalories: TextView = view.findViewById(R.id.tvCalories)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_fruit, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val fruit = fruits[position]
holder.tvName.text = fruit.name
holder.tvCalories.text = "${fruit.calories} kcal"
}
override fun getItemCount() = fruits.size
}Menyiapkan di Activity
Hubungkan RecyclerView, Adaptor, dan LayoutManager di Activity Anda:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val fruits = listOf(
Fruit("Apple", 95),
Fruit("Banana", 105),
Fruit("Cherry", 50),
Fruit("Mango", 202)
)
val adapter = FruitAdapter(fruits)
binding.recyclerView.apply {
this.adapter = adapter
layoutManager = LinearLayoutManager(this@MainActivity)
}
}GridLayoutManager
Ubah LayoutManager untuk menampilkan kisi, bukan daftar satu kolom:
LinearLayoutManager— daftar vertikal atau horizontalGridLayoutManager(context, spanCount)— kisi dengan N kolomStaggeredGridLayoutManager— kisi bertingkat bergaya Pinterest
Pemeriksaan Singkat
Apa tugas ViewHolder dalam Adaptor RecyclerView?
Ringkasan: Dasar-Dasar RecyclerView
Sekarang Anda dapat menampilkan daftar secara efisien:
- RecyclerView mendaur ulang tampilan untuk meningkatkan kinerja
- Tiga bagian: widget RecyclerView, Adaptor, ViewHolder
- XML item menentukan tampilan satu baris/kartu
- Adaptor menghubungkan data ke tampilan di
onBindViewHolder - LayoutManager mengatur tata letak daftar, kisi, atau bertingkat
Berikutnya: buat item daftar dapat diketuk menggunakan peristiwa klik.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar RecyclerView” gratis?
Ya — teks lengkap “Dasar RecyclerView” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 6 pelajaran total.
Apa yang akan aku pelajari di “Dasar RecyclerView”?
Tampilkan daftar besar secara efisien dengan RecyclerView. Buat Adapter dan ViewHolder, lalu hubungkan data menggunakan ViewBinding. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 6.
Berapa lama pelajaran “Dasar RecyclerView” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Koleksi Kotlin
- Dasar RecyclerView
- Peristiwa Klik RecyclerView
- SharedPreferences
- Preferensi DataStore
- Adapter & DiffUtil