onActivityResult не называется (Котлин)

Мне нужна помощь. На моем onCreate() меня есть этот код:

  takePhotoDialog = DialogGetPhotoFrom.getInstance().apply { setListener(object : DialogGetPhotoFrom.DialogListener { override fun onTakeFromGallery() { Log.v("ProjectDetails", "onTakeFromGallery called") val intent = Intent().apply { type = "image/*" action = Intent.ACTION_GET_CONTENT } startActivityForResult(Intent.createChooser(intent, "Select Image"), REQUEST_PICK_IMAGE) } override fun onTakePhoto() { dispatchTakePictureIntent() } }) } projectDetails_pickImage.setOnClickListener { takePhotoDialog?.show(supportFragmentManager) } 

На моем onActivityResult я написал:

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when (requestCode) { REQUEST_PICK_IMAGE -> { Log.v("ProjectDetails", "REQUEST_PICK_IMAGE called") if (resultCode == Activity.RESULT_OK) { if (data != null) { try { val inputStream = contentResolver.openInputStream(data.data) val bitMap = BitmapFactory.decodeStream(inputStream) projectDetails_image.setImageBitmap(bitMap) // TODO Save image URI to database } catch (e: Exception) { Toast.makeText(this, "Can't set background.", Toast.LENGTH_SHORT).show() } } else { Log.v("ProjectDetails", "data is null") } } } } } 

Проблема заключается в том, что onActivityResult() не срабатывает при onActivityResult() изображения. Что мне делать?

    Решила! Решение состоит в том, чтобы поместить коды внутри моей функции onTakeGallery () в функцию, принадлежащую классу Activity. Поэтому мой код будет выглядеть так:

     takePhotoDialog = DialogGetPhotoFrom.getInstance().apply { setListener(object : DialogGetPhotoFrom.DialogListener { override fun onTakeFromGallery() { dispatchSelectFromGalleryIntent() } override fun onTakePhoto() { dispatchTakePictureIntent() } }) } projectDetails_pickImage.setOnClickListener { takePhotoDialog?.show(supportFragmentManager) } 

    И извлеченные коды идут здесь:

     private fun dispatchSelectFromGalleryIntent() { val intent = Intent().apply { type = "image/*" action = Intent.ACTION_GET_CONTENT } startActivityForResult(Intent.createChooser(intent, "Select Image"), REQUEST_PICK_IMAGE) }