[英]How can I pass the arrayList from adapter to new activity with intent in kotlin, android app?
[英]I try to pass the image from Adapter to the other activity with intent in Kotlin, Android, but ıt does not display. What should I do?
大家好,我是 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
加載圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.