Не вижу изображения в моем эмуляторе в Kotlin - PullRequest
2 голосов
/ 15 марта 2020

Я пытаюсь выбрать изображение в упражнении, но как только я нажимаю, чтобы выбрать, я попадаю в папку устройств, но в ней нет изображения. Пожалуйста, смотрите мой код ниже:

class AddPainting : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_add_painting)
    }

    fun select(view: View) {
        if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), 2);
        } else {
            val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(intent, 1);
        }
    }

    override fun onRequestPermissionsResult(
        requestCode: Int,
        permissions: Array<out String>,
        grantResults: IntArray
    ) {
        if(requestCode == 2) {
            if(grantResults.size > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//                val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                val intent = Intent(Intent.ACTION_PICK);
                intent.type = "image/*";
                startActivityForResult(intent, 1);
            }
        }
        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        if(requestCode == 1 && requestCode == Activity.RESULT_OK && data != null) {
            val image = data.data;
            try{
                val selectedImage = MediaStore.Images.Media.getBitmap(this.contentResolver, image);
                imageView.setImageURI(data?.data);
            }catch (e: Exception) {
                e.printStackTrace();
            }
        }
        super.onActivityResult(requestCode, resultCode, data)
    }

    fun save(view: View) {

    }
}

Это то, что я вижу, когда мне нужно выбрать картинку

enter image description here

1 Ответ

0 голосов
/ 17 марта 2020

Используйте ваше растровое изображение selectedImage для установки ImageView

imageView.setImageURI(data?.data);

до

imageView.setImageURI(selectedImage);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...