Soru & Cevap

glide kütüphanesini toplu resimlere uygulanması ...

15.04.2020 - 12:14

merhaba kolay gelsin herkese android studio da kotlin ile app galery yapımında resimlerin hepsini direk glide ile nasıl yükleyebiliriz bir türlü çözüm bulamadım internettende hep tek resim üzerinden gösterilmiş zaten toplu pc de ki resimleri alırken nasıl uygulayabiliriz

4 Görüntülenme

6 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user jackigntm
jackigntm
15.04.2020 - 05:12

çok çok teşekürler VOLKAN bey harikasınız bende nerde hata yaptığımı anladım:)

mahabad akıcı
15.04.2020 - 05:13
sizin sayenizde tabiki:)
Volkan Şahin
15.04.2020 - 05:36
Rica ederim, yardımcı olabildiysem ne mutlu :)
Profile picture for user jackigntm
jackigntm
15.04.2020 - 02:55
package com.example.manzararecyclerview

import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import kotlinx.android.synthetic.main.tek_satir_view.*
import kotlinx.android.synthetic.main.tek_satir_view.view.*
import kotlinx.android.synthetic.main.tek_satir_view.view.imgManzara

class ManzaraAdabter(tumManzalar:ArrayList<Manzara>): RecyclerView.Adapter<ManzaraAdabter.ManzaraViewHolder>() {
  var manzaralar=tumManzalar
    override fun getItemCount(): Int {

        return manzaralar.size

    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ManzaraViewHolder {
       var inflater=LayoutInflater.from(parent.context)
        var tekSatirManzara=inflater.inflate(R.layout.tek_satir_view,parent,false)

       return ManzaraViewHolder(tekSatirManzara)
    }

    override fun onBindViewHolder(holder: ManzaraViewHolder, position: Int) {
        var oanOlusturulanManzara=manzaralar.get(position)
       holder.setData(oanOlusturulanManzara,position)

        /*holder.manzaraBaslik.text=manzaralar.get(position).baslik
        holder.manzaraAciklama.text=manzaralar.get(position).aciklama
        holder.manzaraResim.setImageResource(manzaralar.get(position).resim)
        Log.e("RECYCLERVİEW","ON BIND VİEW HOLDER TETİKLENDİ")*/

    }

   inner class ManzaraViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        var tekSatirManzara=itemView
        var manzaraBaslik=tekSatirManzara.tvManzaraBaslik
        var manzaraAciklama=tekSatirManzara.tvManzaraAcıklama
        var manzaraResim=tekSatirManzara.imgManzara
        var btnKopyala=tekSatirManzara.imgKopyala
        var btnSil=tekSatirManzara.imgSil

       init {
        Log.e("jack","tetiklendi")

       }
        fun setData(oanKiManzara:Manzara,position:Int){

            manzaraBaslik.text=oanKiManzara.baslik
            manzaraAciklama.text=oanKiManzara.aciklama
            manzaraResim.setImageResource(oanKiManzara.resim)

            btnKopyala.setOnClickListener{

                manzaralar.add(position,oanKiManzara)
                notifyItemInserted(position)
                notifyItemRangeChanged(position,manzaralar.size)

            }
            btnSil?.setOnClickListener {

            manzaralar.removeAt(position)
            notifyItemRemoved(position)
                notifyItemRangeChanged(position,manzaralar.size)
            }

            }
        }
    }

 

mahabad akıcı
15.04.2020 - 02:56
glide muhtemelen buraya eklemem gerek ama hata alıyorum sürekli
Volkan Şahin
15.04.2020 - 03:04
56. satırdaki kodu Glide ile değiştirsen istediğin olur. Glide .with(itemView.context) .load(oanKiManzara.resim) .into(manzaraResim);
Profile picture for user jackigntm
jackigntm
15.04.2020 - 02:54
package com.example.manzararecyclerview

data class Manzara(var baslik:String,var aciklama:String,var resim:Int) {
}

 

Profile picture for user jackigntm
jackigntm
15.04.2020 - 02:54
package com.example.manzararecyclerview

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.bumptech.glide.Glide
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.tek_satir_view.*

class MainActivity : AppCompatActivity() {
    var tumManzalar = ArrayList<Manzara>()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        veriKaynagınıHazırla()

        var myAdapter = ManzaraAdabter(tumManzalar)
        recyclerViewManzara.adapter = myAdapter
        var linearViewHorizontal = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
        recyclerViewManzara.layoutManager = linearViewHorizontal

    }

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.menu, menu)
        return super.onCreateOptionsMenu(menu)
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        var id: Int = item.itemId
        when (id) {
            R.id.linearViewHorizontal -> {
                var linearViewHorizontal =
                    LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
                recyclerViewManzara.layoutManager = linearViewHorizontal
            }

            R.id.linearViewVertical -> {
                var linearViewVertical =
                    LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
                recyclerViewManzara.layoutManager = linearViewVertical
            }

            R.id.menuGrid -> {
                var menuGrid = GridLayoutManager(this, 2)
                recyclerViewManzara.layoutManager = menuGrid
            }

            R.id.menuStagerdHorizantel -> {
                var menuStagerdHorizantel =
                    StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.HORIZONTAL)
                recyclerViewManzara.layoutManager = menuStagerdHorizantel
            }

            R.id.menuStagerdVertical -> {
                var menuStagerdVertical =
                    StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)

                recyclerViewManzara.layoutManager = menuStagerdVertical

            }

        }
        return super.onOptionsItemSelected(item)



    }
    fun veriKaynagınıHazırla(): ArrayList<Manzara>{

        var tumResimler = arrayOf(
            R.drawable.thumb1,
            R.drawable.thumb2,
            R.drawable.thumb3,
            R.drawable.thumb4,
            R.drawable.thumb5,
            R.drawable.thumb6,
            R.drawable.thumb7,
            R.drawable.thumb8,
            R.drawable.thumb9,
            R.drawable.thumb10,
            R.drawable.thumb11,
            R.drawable.thumb12,
            R.drawable.thumb14,
            R.drawable.thumb15,
            R.drawable.thumb16,
            R.drawable.thumb17,
            R.drawable.thumb18,
            R.drawable.thumb19,
            R.drawable.thumb20,
            R.drawable.thumb21,
            R.drawable.thumb22,
            R.drawable.thumb23,
            R.drawable.thumb24,
            R.drawable.thumb25,
            R.drawable.thumb26,
            R.drawable.thumb27,
            R.drawable.thumb28,
            R.drawable.thumb29,
            R.drawable.thumb30,
            R.drawable.thumb31,
            R.drawable.thumb32,
            R.drawable.thumb33,
            R.drawable.thumb34,
            R.drawable.thumb35,
            R.drawable.thumb36,
            R.drawable.thumb37,
            R.drawable.thumb38,
            R.drawable.thumb39,
            R.drawable.thumb40
        )




        for (i in 0..tumResimler.size - 1) {
            var eklenecekManzara = Manzara("Manzara" + i, "Açıklama" + i, tumResimler[i])
            tumManzalar.add(eklenecekManzara)
        }
        return tumManzalar
    }
}


 

Profile picture for user jackigntm
jackigntm
15.04.2020 - 02:48

basit bir uygulama aslında telefon galerisi gibi resimler gösteriliyor ama cihazı baya kasıyor o yüzden glide kulanmak istiyorum ama bir türlü başaramadım isterseniz uygulama kod resimleri paylaşabilirim sizinle

Volkan Şahin
15.04.2020 - 02:50
Şu an resimleri nasıl yüklüyorsun? Kod paylaşırsan güzel olur evet.