Untitled

 avatar
user_5593861113
kotlin
2 years ago
3.2 kB
12
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...