RecyclerView’de MultiSelection (Çoklu Seçim) Kullanma

Arayüze sahip yazılımsal projelerde,  projenin  en az backend yazılımının iyi olması  kadar kullanıcısını doğru tanıyan, onların istek ve beklentileri öngörerek bunu kullanıcı arayüz ekranlarına doğru ve işlevsel bir tasarım olarak aktarmak da çok önemlidir.

Bu makalemde ise RecyclerView arayüz elemanına eklenen, listeme alanında bir ya da birden fazla  item’ı seçme imkanı sağlayan MultiSelect (çoklu seçim) özelliğini nasıl kullanabileceğimizi uygulayarak anlatacağım. 

Örneğimizi uyguladığımızda aşağıdaki gibi bir ekran görüntüsünü elde edeceğiz.

Dilerseniz, makaleyi inceledikten sonra örneğin tüm kodlarına sayfanın sonunda bulunan linkden ulaşabilirsiniz.

RecyclerView nedir?

Bu widget ,ListView in farklı bir versiyonudur. ListView arayüz elemanından daha esnek bir yapıya sahiptir.Ayrıca, hem horizontal (yatay) hem de vertical (dikey) olarak konumlanan bir layout yapısına sahiptir. ListView yapısından farklı olarak, RecyclerView, verilerin konumlanmasını yönetebilmek için, LayoutManager yapısına ihtiyaç duymaktadır.

Birkaç adımda RecyclerView widget’ın MultiSelect özelliğini uygulamamızda  nasıl kullanacağımızı görelim.

1-Gerekli Kütüphanelerin Eklenmesi

Android Studio Ide ile oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Dependencies kod bloklarının arasına aşağıdaki kodları yerleştirerek Android destek kütüphanesi ve RecyclerView widget kütüphanesini yüklüyoruz.

2-Arayüz Kodlaması

Custom Listview kullanımında olduğu gibi, burada da 2 tane xml dosyasında kodlarımız bulunmalıdır.

İlk olarak, listelenecek item’larda gösterilecek arayüz elemanlarının yerleştirileceği xml dosyasını oluşturmalıyız.

item_row.xml

Diğer xml dosyamıza da RecyclerView widget’ını yerleştirmemiz gerekmektedir.

activity_main.xml

3-Java kodlama ile işlevsellik oluşturma

Listelenecek yazıların gösterilmesini ve list item’larının seçilip, seçilmediği durumlarını, diğer sınıflarda kullanmak adına Model adında bir sınıf oluşturdum.

RecyclerView yapısında Layout Manager ımız ile verilerimiz arasında köprü kuran Adapter sınıfı oluşturmamız gerekir.Nasıl bir ListView için custom adapter yaratıp istediğimiz verileri ListView mizde gösteriyorsak, RecyclerView yapısı içinde aynı mantıkla bir Adapter oluşturmamız gerekir. Benim oluşturduğum Adapter sınıfının ismi RecyclerViewAdapter’dır. Kodları aşağıda bulunmaktadır.

Son olarak  ana sınıfımızda RecyclerView arayüz elemanını tanımlayıp,yukarıda yazdığım sınıfları da çağırmamız gerekir. Bu işlemleri de  MainActivity sınıfımızda yaptık.

Son olarak ufak bir not: Bu yukarıda anlattığım projemin kodlarını indirmek isterseniz; yapmanız gereken tek şey aşağıya koyduğum KODLARI İNDİR resmine tıklamak.

download