Я использую средство выбора изображений в представлении утилизатора, используя этот код
Адаптер
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.tvAnimalType.text = items[position].name
holder.image.setOnClickListener{
requestPermissions(it.context as Activity , arrayOf(WRITE_EXTERNAL_STORAGE),1)
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = "image/*"
(it.context as Activity).startActivityForResult(intent, 1)
Log.i(uri.toString(),"hello")
}
}
ParentActivity
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
Log.d("selectedImageUri()","hello")
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
1 -> {/*file front*/
if (resultCode == Activity.RESULT_OK && data != null) {
val selectedImageUri = data.data as Uri
val selectedImageBitmap: Bitmap =
MediaStore.Images.Media.getBitmap(this.contentResolver, selectedImageUri)
adapter!!.uri(selectedImageUri)
Log.d(selectedImageUri.toString(),"hello")
}
}
}
}
Моя проблема заключается в том, как узнать, когда выбрано изображениепользователем, поскольку активация галереи работает в асинхронном режиме.