我需要从我的recyclerview发送一个特定图像,该图像已被单击到将显示该图像的新活动中。问题是如何将图像转换为位图或类似的图像,以便可以使用intent发送图像? 这是我的代码:
RecyclerViewAdapter.kt
class ViewHolder(view: View) : RecyclerView.ViewHolder(view){
fun bindItem(items: Item) {
itemView.name.text = items.name
itemView.desc.text = items.desc
Glide.with(itemView.context).load(items.image).into(itemView.image)
itemView.setOnClickListener {
itemView.context.startActivity(itemView.context.intentFor<DetailsActivity>("image" to bitmap, "name" to items.name, "desc" to items.desc))
}
}
}
SecondActivity
val intent = intent
name = intent.getStringExtra("name")
image = intent.getStringExtra("image")
desc = intent.getStringExtra("desc")
nameTextView.text = name
descTextView.text = desc
Glide.with(this)
.load(image)
.into(imgPhotos)
我已经尝试了该站点上提供的所有代码,但它们均无法正常工作。谢谢!
答案 0 :(得分:0)
将图像转换为byteArray并通过intent传递。通过另一侧的意图提取数据,并将byteArray转换为位图。
答案 1 :(得分:0)
我没有使用Glide,但应该是这样。
delete object.name
您可以直接发送位图,因为它是可打包的
lateinit imageBitmap : Bitmap
Glide.with(this).asBitmap().load("YOUR_URL").into(object: Target<Bitmap>{
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
imageBitmap = resource
}
})
要获取位图
intent.putExtra("image",imageBitmap)