Untitled
user_5593861113
kotlin
3 years ago
3.2 kB
14
Indexable
package com.bunyaminsahin.superkahramanktab
import android.graphics.Bitmap
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.recycler_row.view.*
class RecyclerAdaptor(var superKahramanListesi:ArrayList<String>,var superKahramanGorselleri:ArrayList<Bitmap>):RecyclerView.Adapter<RecyclerAdaptor.SuperKahramanVH>() {
class SuperKahramanVH(itemView:View):RecyclerView.ViewHolder(itemView) {
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SuperKahramanVH {
//kod ile arayüzü birbirine bağlarken Inflater yapısı kullanıllır(Inflater,LayoutInflater,MenuInflater)
//parent.contex bu class hangi contexi kullanıyorsa onu kullan demek
//inflate ile recycler_row un içerisine yazdığımız kodu oluşturduğumuz RecyclerView ile bağladık
var itemView=LayoutInflater.from(parent.context).inflate(R.layout.recycler_row,parent,false)
//oluşturduğumuz görseli SuperKahramanVH içerisinde döndürüyoruz
return SuperKahramanVH(itemView)
}
override fun onBindViewHolder(holder: SuperKahramanVH, position: Int) {
//position her satıra farklı index numaralarını yerleştirir(0. satır 0. index ,1.satır 1.index,2.satır 2.index)
holder.itemView.recyclerViewTextView.text=superKahramanListesi.get(position)
}
override fun getItemCount(): Int {
//kahramanListesinin içerisinde kaç tane eleman varsa o kadar RecyclerViewın içerisine o kadar sıra oluştur
return superKahramanListesi.size
}
}
/*
-Sınıfı oluşturmaızın amacı recycler_row ile RecyclerViewi birbirine bağlamak
1-Sınıfın RecyclerView adaptor olacağını belitriyoruz(RecyclerView.Adapter)
2-Adaptor bizden görünüm tucu bir sınıf oluşturmamızı istiyor(<SuperKahraman>)
3-SuperKahramanVH ye bir itemView=View veriyoruz (SuperKahramanVH(itemView=View))
4-SuperKahramanVH dırın bir görünüm tutucu sınıf olduğunu belitriyoruz(RecyclerView.ViewHolder())
5-RecyclerAdaptorün çalışması için gerekli olan fonksiyonları yazıyoruz
6-getItemCount RecyclerView içerisinde kaç tane sıra olacak onu soruyor
7-onCreateViewHolder fonksiyonu recycler_row içerisine yazdığımız kod ile arayüzümüz içerisinde oluşturduğumuz
RecyclerView i birbirine bağlar
8-onBindViewHolder ile recycler_row un içerisindeki verilere ulaşabilir onları düzenleyebiliriz
9-RecyclerView in ayarlamalarını yapıyoruz dikey mi yatay mi diye(MainACtiviyin içerisine git)
10-adaptorlerimizi biribirine bağlıyoruz(MainACtiviyin içerisine git)
*/
/*
-Farklı yerlerdeki verilere ulaşmak istiyorsan
1-RecyclerAdaptorun constarktırını ile verileri karşı taraftan istiyorz (var superKahramanListesi:ArrayList<String>)
2-Veriyi almak istediğin yere RecyclerAdaptoru oluştur(var adaptor=RecyclerAdaptor(SuperKahramanlar))
-SuperKahramanlar listesini superKahramanListesi anahtar kelimesine eşitleyerek veriyi çektik
3-gorsellerede aynı şekilde constarktırın yanına virgül koyarak ulaşabilirisin
*/Editor is loading...