簡體   English   中英

我嘗試將圖像從 Adapter 傳遞到 Android Kotlin 中的其他活動,但不顯示。 我該怎么辦?

[英]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.

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