代码之家  ›  专栏  ›  技术社区  ›  Ibanez1408

在Kotlin的“我的模拟器”中看不到任何图像

  •  0
  • Ibanez1408  · 技术社区  · 6 年前

    我正在尝试在“活动”中选择图像,但一旦单击选择,我将进入设备文件夹,但其中没有图片。请参阅下面我的代码:

    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

    0 回复  |  直到 6 年前
        1
  •  0
  •   Alex Sunder Singh    6 年前

    用你的 selectedImage 要设置的位图 ImageView

    imageView.setImageURI(data?.data);

    imageView.setImageURI(selectedImage);