簡體   English   中英

適配器與畢加索

[英]Adapter with Picasso

我正在嘗試使用 Picasso 從 Url 獲取圖像並放入適配器中。 我必須將圖像作為參數發送到我的SliderViewHolder中的imageSlider 有人可以解釋一下嗎?

畢加索獲得:

Picasso.get()
            .load(sliderImages[position])
            .transform( RoundedTransformation(30, 0))
            .placeholder(context.resources.getDrawable(R.drawable.ic_launcher_foreground))//it will show placeholder image when url is not valid.
            .networkPolicy(NetworkPolicy.OFFLINE) //for caching the image url in case phone is offline
            .into(holder.imageSlider(?))

取景器:

class SliderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val imageView: RoundedImageView = itemView.findViewById(R.id.image_slide)

        fun imageSlider(sliderItem: SliderItem) {
            imageView.setImageResource(sliderItem.image)
        }
    }

功能

fun imageSlider(sliderItem: SliderItem) {
    imageView.setImageResource(sliderItem.image)
}

沒有必要,因為您聲明了具有公共可見性的 imageView。

在你的 RecyclerView 的適配器中,有一個方法叫做

override fun onBindViewHolder(holder: SliderViewHolder, position: Int)

當適配器想要將您的項目布局 (ViewHolder) 與列表的“支持數據項”綁定時,將調用此方法...

然后你可以簡單地這樣做:

Picasso.get()
            .load(sliderImages[position])
            .transform( RoundedTransformation(30, 0))
            .placeholder(context.resources.getDrawable(R.drawable.ic_launcher_foreground))//it will show placeholder image when url is not valid.
            .networkPolicy(NetworkPolicy.OFFLINE) //for caching the image url in case phone is offline
            .into(holder.imageView)

這將使 Picasso 將圖像加載到列表中當前項目的 ViewHolder 的 ImageView(實際上只是保存項目布局)。

正確的實現實際上是,你給你的適配器一個圖像對象列表(例如,包含像圖像名稱和路徑/URL 這樣的屬性,應該得到“呈現”)並且當適配器調用“onBindViewHolder”時相應的Position,就是你的Job來實現給定位置從給定路徑加載圖片。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM