0Pricing
Android Academy · Ders

RecyclerView Temelleri

RecyclerView ile büyük listeleri verimli şekilde görüntüleyin. Bir Adapter ve ViewHolder oluşturun, ViewBinding kullanarak verileri bağlayın.

RecyclerView Temelleri, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 6 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 6 dersten oluşur.

Neden RecyclerView?

RecyclerView, Android'de kaydırılabilir öğe listesi göstermenin standart yoludur.

Daha eski ListView'ın aksine RecyclerView:

  • Kaydırma sırasında görünümleri yeniden kullanır — yalnızca ekrana sığacak kadar görünüm oluşturur
  • Dikey listeler, yatay listeler ve ızgaralar için çalışır
  • LayoutManagers ile büyük ölçüde özelleştirilebilir

RecyclerView Mimarisi

RecyclerView'ın çalışması için üç parçaya ihtiyacı vardır:

  • RecyclerView — yerleşim XML'inizdeki bileşen
  • Adapter — verilerinizi öğe görünümlerine bağlar
  • ViewHolder — her liste öğesinin içindeki görünümlere başvuruları tutar

Adapter, ViewHolder'ları oluşturur ve kullanıcı kaydırdıkça verileri bunlara bağlar.

RecyclerView'ı XML'e Ekleme

Bileşeni yerleşiminize ekleyin ve bağımlılığı build.gradle içinde bildirin:

<!-- 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' -->

Öğe Yerleşimi

Her liste öğesi için ayrı bir XML dosyası oluşturun. Örneğin 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>

Veri Modeli

Listenizdeki her öğeyi temsil eden veri sınıfını tanımlayın:

data class Fruit(
    val name: String,
    val calories: Int
)

Adapter Oluşturma

Adapter, verilerinizi öğe yerleşimine bağlar. Üç temel yöntemi vardır:

  • onCreateViewHolder — öğe XML'ini şişirir
  • onBindViewHolder — bir öğenin verilerini doldurur
  • getItemCount — toplam öğe sayısını verir

Adapter Uygulaması

Eksiksiz ve en temel RecyclerView Adapter:

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
}

Activity'de Kurulum

RecyclerView, Adapter ve LayoutManager'ı Activity içinde birlikte bağlayın:

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

Tek sütunlu liste yerine ızgara göstermek için LayoutManager'ı değiştirin:

  • LinearLayoutManager — dikey veya yatay liste
  • GridLayoutManager(context, spanCount) — N sütunlu ızgara
  • StaggeredGridLayoutManager — Pinterest tarzı düzensiz ızgara

Hızlı Kontrol

RecyclerView Adapter'ında ViewHolder'ın görevi nedir?

Özet: RecyclerView Temelleri

Artık listeleri verimli şekilde gösterebilirsiniz:

  • RecyclerView performans için görünümleri yeniden kullanır
  • Üç parça: RecyclerView bileşeni, Adapter, ViewHolder
  • Öğe XML'i tek bir satırın/kartın görünümünü tanımlar
  • Adapter, onBindViewHolder içinde verileri görünümlere bağlar
  • LayoutManager liste, ızgara veya düzensiz yerleşimi denetler

Sonraki konu: liste öğelerini tıklanabilir olaylarla etkileşimli hâle getirme.

Sıkça Sorulan Sorular

“RecyclerView Temelleri” dersi ücretsiz mi?

Evet — “RecyclerView Temelleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 6 dersten oluşur.

“RecyclerView Temelleri” dersinde ne öğreneceğim?

RecyclerView ile büyük listeleri verimli şekilde görüntüleyin. Bir Adapter ve ViewHolder oluşturun, ViewBinding kullanarak verileri bağlayın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 6 dersinin 2. dersidir.

“RecyclerView Temelleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Kotlin Koleksiyonları
  2. RecyclerView Temelleri
  3. RecyclerView Tıklama Olayları
  4. SharedPreferences
  5. DataStore Tercihleri
  6. Adaptörler ve DiffUtil
← Android Academy Sayfasına Dön