Android-RecyclerView Kullanımı. Bu yazımda Recyclerview’in ne olduğunu… | through Tolga Budanoğlu | Nov, 2023

Picture through Denny Müller on Unsplash

Merhaba,

Bu yazımda android dünyasında verileri listelemek için kullanılan recyclerview öğesinin kullanımından bahsedeceğim. Ben yazıda hem java ile hem de kotlin ile küçük bir projede kullanımını göstereceğim.

Recyclerview android’de veri listelerini görüntülemek için kullanılan güçlü bir bileşendir.

Öncelikle recyclerview listview öğesinin yerine geldi. Recyclerview, önceki ListView’a göre birçok avantaja sahiptir. ListView, karmaşık bir yapıya sahip olduğu için özelleştirme ve performans açısından sınırlamalara sahipti. Recyclerview ise, optimize edilmiş bellek kullanımı, esnek düzen yöneticileri ve özelleştirilebilirlik gibi açılardan daha gelişmiş bir yapı sunar.

Yapacağım uygulamada ülkelerin bayrakları ve isimleri recyclerview yardımıyla sıralı bir şekilde listenelenecek. O zaman projemize geçelim.

Öncelikle proje oluşturmak için:

Android Studio → New Undertaking → New Empty Task diyerek bir proje hazırlayalım. Dil olarak hem kotlin hem de javayı seçebilirsiniz ben ikisinde de göstereceğim.

Projemizde öncelikle tasarımını oluşturmak gerekiyor. Verileri göstermek istediğimiz structure dosyasına recyclerview ekleyelim.

Daha sonra listedeki verilerin tasarımını yapmalıyız. Bunun için yeni bir structure dosyası oluşturmalıyız. Soldaki proje dizininde structure klasörünün üstüne sağ tıklayıp new>structure useful resource Report seçelim. Report title kısmına isim olarak ben card_design ismini verdim siz istediğinizi verebilirsiniz.

  • Ülkelerin Fotoğrafı → ImageView
  • Ülkelerin İsmi → TextView şeklinde hazırlayalım.

Tasarım kısmında yapacaklarımız bu kadardı.

Bir tane type sınıfımızı oluşturalım. Ben ismine Nation dedim.

Java Nation sınıfı
Kotlin nation sınıfı

Evet type sınıflarımızı oluşturduk. Şimdi verilerimizi oluşturmaya sıra geldi. Major activityde nation tipinde bir arraylist oluşturalım.

Java ile nation listesi
Kotlin ile nation listesi

Verilerimizi hazırladığımıza göre sıra geldi adapterimizi yazmaya.

Öncelikle adapter yazmaya geçmeden önce proje dizinini düzenleyelim.

Proje dizinin yapısı

Adapter, recyclerviewa veri sağlar ve görünüm oluşturur. Bu işlem, veri kaynağını bağlamak ve öğeleri görüntülemek için kullanılır. Adapter sınıfımızı RecyclerView.Adapter sınıfından türetmemiz ve gerekli yöntemleri uygulamamız gerekir.

Nation adapter isminde adapter sınıfımızı oluşturalım istediğiniz ismı verebilirsiniz önemi yok.

Bu sınıfı RecyclerView.Adapter’den türetelim.

Java kodu
Kotlin kodu

Daha sonra kullanacağımız için constructor olarak nation tipinde arraylist ve daha sonra ihtiyacımız olacak context tanımlayalım.

Java ile constructor
Kotlin ile constructor

Daha sonra adapterimiz içinde view holder sınfımızı oluşturalım.

Java ile view holder sınıfı
Kotlin ile view holder sınıfı

Adapter sınıfımız bizden view hodler sınıfı isteyecektir. Yukarıda oluşturduğumuz view holder sınıfını adapterimiz içine yazalım.

Java
Kotlin

Adapter sınıfımız bu haldeyken bizden bazı metotları implemente etmemizi isteyecek. Bunlar :

  • onCreateViewHolder() → Bu metot, ViewHolder’ın oluşturulduğu ve ilk kez oluşturulduğunda görünüm bileşenlerinin bağlandığı yerdir. RecyclerView, herhangi bir öğe görünümünü oluşturmak ve kullanıcı görünümüne getirmek için bu metodu çağırır.
  • getItemCount() → Listemizin eleman sayısı
  • onBindViewHolder() → Knowledge ve View bağlandığı kısım

Önce en kolayından başlayalım getItemCount() bu metota listemizin boyutunu yazalım.

Java
Kotlin

onCreateViewHolder metodunda oluşturduğumuz tasarım sayfasını inflate ediyoruz.

JAVA
KOTLİN

Son metodumuz onBindViewHolder da ise verilerin bağlantısını gerçekleştirelim.

JAVA
KOTLİN

Evet adapter sınıfımın yazımını tamamladık.

Son hali bu şekilde:

JAVA
KOTLİN

Şimdi son olarak adapter ve recyclerview bağlantısını yapmalıyız. Recyclerview öğemizin bulunduğu sınıfta yapmalıyız. Bende major.task de bulunuyor.

JAVA
KOTLİN

Şimdi projemizi çalıştırıp check edelim. Ve sonucu görelim.

Evet proje güzel bir şekilde çalışıyor. Umarım faydalandığınız bir yazı olmuştur. Herhangi bir durumda bana ulaşabileceğiniz adresleri ve projelerin kaynak kodlarının linkini bırakıyorum.

Github:

https://github.com/tolgabudanoglu/MediumYazilariProjeleri/tree/major/MediumRecyclerViewKullanimi

https://github.com/tolgabudanoglu/MediumYazilariProjeleri/tree/major/MediumRecyclerViewKullanimiKotlin

Linkedin:

https://www.linkedin.com/in/tolga-budanop.cC4p.c9Flu/

Leave a Reply

Your email address will not be published. Required fields are marked *