Android-Kotlin RecyclerView Kullanımı

Duygu Türkmen
2 min readDec 30, 2018

--

Merhabalar!

Bugün listeleme yöntemlerinden biri olan RecyclerView kullanımını Kotlin dilini kullanarak basit bir örnekle anlatacağım. Bu örnek; ülkelerin bayraklarını, isimlerini ve başkentlerini göstereceği bir listeleme örneğidir. İlk yazımda sizlere ListView’den bahsetmiştim. RecyclerView, ListView’e göre daha gelişmiş bir listeleme yöntemidir. Hadi gelin birlikte kodlamaya başlayalım.

İlk önce Android Studio’muzu açıp yeni bir boş proje oluşturalım.

Boş bir proje oluşturalım.

Proje oluşturma işleminin ardından projeye RecyclerView ve CardView implementasyonlarını yapalım. Bunun için build.gradle(Module:app) bölümünün dependencies kısmına aşağıdaki kodumuzu ekliyoruz.

Sıra tasarım kısmına geldi. İlk önce aşağıdaki gibi activity_main.xml’de LinearLayout’un içerisine RecyclerView’i ekleyelim.

Sonraki aşama, listelenecek olan öğelerin satır tasarımını oluşturmak için item_card.xml adında bir layout oluşturalım ve Root element’ini CardView olarak seçelim.

Ardından, oluşturmuş olduğumuz CardView’ in içerisine TextView’leri ve ImageView’i ekleyelim.

Sonrasında internetten bulduğumuz birkaç tane bayrak resmini drawable klasörünün içerisine atalım.

Artık tasarım kısmını bitirmiş bulunmaktayız. Sıra geldi modelimizi oluşturmaya bunun için CountryModel.kt adında bir class oluşturalım.

CountryModel.kt

Şu an elimizde listemizin tasarımı ve bu listeyi dolduracak elemanlarımızın verilerini tutan bir sınıf oluşturduk. Şimdi de tasarım ile model arasında bir veri akışını sağlamak için Adapter oluşturalım. Bunun için de Adapter.kt adında bir class oluşturuyoruz.

Adapter.kt

Yukarıda adapter oluşturma işleminde ilk önce MutableList<CountryModel> adında bir liste tanımlaması yapalım. Daha sonra TextView ve ImageView tanımlamalarını yaptık. Adapter oluştururken RecyclerView’in 3 ana metodunu import ettik. Peki bunlar ne işe yarar ?

onCreateViewHolder() — Adapter oluştuğunda viewHolder’ı başlatmak için bu metod çağrılır.

onBindViewHolder()- onCreateViewHolder() metodundan dönen veriyi bağlamak için kullanılır.

getItemCount()- Listemizin eleman sayısını döndürür.

MainActivity.kt class’ında RecyclerView öğelerini yerleşimini yapabilmek için LayoutManager oluşturalım.

MainActivity.kt

Sıra son kısıma geldi. Burada MainActivity.kt class’ında daha önceden oluşturduğumuz modelimiz için bir liste oluşturalım.

MainActivity.kt

Projemiz burada sona ermektedir. Kodların tamamına buradan ulaşabilirsiniz.

--

--