Я решил проблему, используя следующий код
// Binds each guest in the ArrayList to a view
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.guestNumber.text = "Guest "+ (position+1)
holder.constraint.setVisibility(View.GONE)
holder.image.setImageURI(images[position])
holder.firstName.text = guests[position].name.split(" ").first()
holder.lastName.text = guests[position].name.split(" ").last()
holder.image.setOnClickListener{
requestPermissions(it.context as Activity , arrayOf(WRITE_EXTERNAL_STORAGE),1)
this.position=holder.adapterPosition
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = "image/*"
(it.context as Activity).startActivityForResult(intent, 1, Bundle())
(it.context as Activity).onActivityReenter(1,intent)
}
}
MainActivity
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
1 -> {/*file front*/
if (resultCode == Activity.RESULT_OK && data != null) {
imageList[adapter!!.position!!] = data.data as Uri
adapter!!.notifyDataSetChanged()
}
}
}
}