我试图将图像从Adapter传递到Android Kotlin中的其他活动,但ıt没有显示.我该怎么办



大家好,我是android kotlin的新手,我只是试图将图像从适配器传递到其他活动,但它没有显示。我使用了意向代码。我该怎么办?我分享了我的适配器和其他活动代码,这样你就可以看到如何使用意图代码

我的适配器;

class NoteAdapter(private var titleText: ArrayList<String>, private var image: ArrayList<String>) : RecyclerView.Adapter<NoteAdapter.ViewHolder>() {

inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

val itemTitle : TextView = itemView.findViewById(R.id.recyclerTitleText)
val itemImage : ImageView = itemView.findViewById(R.id.recyclerImage)

init {
itemView.setOnClickListener { v: View ->

val intent = Intent(itemView.context, PastNotesActivity::class.java)
intent.putExtra("oldTitle", titleText[position])
intent.putExtra("oldImage", image[position] )
itemView.context.startActivity(intent)
}
}

}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.recycler_row, parent, false)
return ViewHolder(v)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.itemTitle.text = titleText[position]
Picasso.get().load(image[position]).resize(150,150).into(holder.itemImage)

}
override fun getItemCount(): Int {
return titleText.size
}
}

另一个活动代码

class PastNotesActivity : AppCompatActivity() {
var selectedPicture: Uri? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_past_notes)
val intent = intent
val oldTitleName = intent.getStringExtra("oldTitle")
val oTitle = findViewById<TextView>(R.id.pastTitleText)
oTitle.text = oldTitleName
val oldImageView:Int = intent.getIntExtra("oldImage", 0)
val imageView = findViewById<ImageView>(R.id.pastImage)
imageView.setImageResource(oldImageView)
}

}

在您的PastNotesActivity中,您正在提取IntExtra,但您发送了StringExtra

从更改您的代码

val oldImageView:Int = intent.getIntExtra("oldImage", 0)

val oldImageView:String = intent.getStringExtra("oldImage", "")

然后像在onBindViewHolder中那样使用Picasso加载图像。

相关内容

最新更新