【问题标题】:I want to select multiple images from gallery but after selecting images when I click on open its crash我想从图库中选择多个图像,但是在单击打开它的崩溃时选择图像后
【发布时间】:2020-01-01 12:48:23
【问题描述】:

我想从图库中选择多张图片,但是当我点击打开应用程序时选择图片后崩溃。

我的代码:

  @Override
    protected void onActivityResult(int reqCode, int resultCode, Intent data) {
        super.onActivityResult(reqCode, resultCode, data);

        if (resultCode == RESULT_OK) {

            try {
                final Uri imageUri = data.getData();
                final InputStream imageStream = getContentResolver().openInputStream(imageUri);
                final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
                Toast.makeText(this, "images pick"+imageUri, Toast.LENGTH_SHORT).show();

                TextView txtview = findViewById(R.id.imguri);
                txtview.setText(String.valueOf(imageUri));

                Intent intent = new Intent(MainActivity.this,ConvertActivity.class);
                intent.putExtra("ImageUri",imageUri.toString());
                startActivity(intent);

               // image_view.setImageBitmap(selectedImage);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                Toast.makeText(MainActivity.this, "Something went wrong", Toast.LENGTH_LONG).show();
            }

        }else {
            Toast.makeText(MainActivity.this, "You haven't picked Image",Toast.LENGTH_LONG).show();
        }
    }


///pick gallery code
 public void pickGallery() {

        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
        startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
    }

【问题讨论】:

    标签: java android image


    【解决方案1】:

    你的意图

    Intent chooserIntent = new Intent();
    chooserIntent.setType("image/*");       
    chooserIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE,true);
    chooserIntent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(chooserIntent, "Select 
    Picture"), 100);
    Activity Result
    
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: 
    Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
       if (requestCode == 100 && resultCode == RESULT_OK && data!=null) {
            val clipdata = data.clipData
            if(clipdata!=null){
                for (i in 0 until data?.clipData!!.itemCount) {
                    val uri = data?.clipData?.getItemAt(i)?.uri
                    songlist.add(uri)}
            }else{
                val uri = data?.data
                songlist.add(uri)
            }
        }    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多