Kotlin выбрал изображение, которое не отображается во фрагменте диалога

Фрагмент диалога не показывает фотографию, которую я выбрал из галереи

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (resultCode == Activity.RESULT_OK && requestCode ==IMAGE_PICK_CODE){
        image_view.setImageURI(data?.data)
    }
}

Выберите изображение с гораздо более низким разрешением.

blackapps 25.12.2020 21:50

Можете ли вы дать нам более подробную информацию. Вы пытались исследовать logcat? Что это показывает? Кроме того, вы используете файловый провайдер?

saiful103a 25.12.2020 21:52

@ saiful103a Тот же код работает, когда мы пробуем activity_main в качестве демо, но dialogfragment тоже не работает. Я тоже не получаю никаких ошибок. Я могу выбрать из галереи, но не могу просмотреть изображение. Также в DialogFragment

user9183711 25.12.2020 21:58

@blackapps Я выбираю картинку из галереи эмулятора

user9183711 25.12.2020 22:01

Возможно. Но попробуй картинку с меньшим разрешением был комментарий.

blackapps 25.12.2020 22:28
1
5
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте преобразовать изображение в Bitmap, а затем используйте .setImageBitmap(), чтобы установить изображение в ImageView

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    val imageUri = data?.data
    val inputStream: InputStream? 
    try {
        inputStream = imageUri?.let { activity?.contentResolver.openInputStream(it) }
        // get a bitmap from a stream
        val image = BitmapFactory.decodeStream(inputStream)
        image_view.setImageBitmap(image)
    } catch (e: FileNotFoundException) {
        Log.d("TAG", "File not found: " + e.message)
    }
}

Неразобранная ссылка ContentResolver error

user9183711 25.12.2020 22:08

использовать активность?.contentResolver, потому что contentResolver исходит из активности, а не из фрагмента.

saiful103a 25.12.2020 22:09

@ saiful103a Я использую DialogFragment

user9183711 25.12.2020 22:16

@ezgiozkan ты пробовал activity?.contentResolver ?

Zain 25.12.2020 22:25

Другие вопросы по теме