从图库中选取图像并显示后,AlertDialog中的ImageView为空白

时间:2016-05-30 09:19:49

标签: android android-intent imageview android-dialog

[这是显示空白ImageView的对话框我尝试在自定义对话框中将所选图片从图库显示为ImageView,但ImageView显示为空白。它不是空的。以下是附加的代码段:

  public void loadImagefromGallery(View view) {
       Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
        photoPickerIntent.setType("image/*");
        startActivityForResult(photoPickerIntent, SELECT_PHOTO);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        try {
            if (requestCode == SELECT_PHOTO && resultCode == RESULT_OK && null != data) {
                Uri selectedImage = data.getData();
                String[] filePathColumn = { MediaStore.Images.Media.DATA };

                Cursor cursor = getContentResolver().query(selectedImage,
                        filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                String picturePath = cursor.getString(columnIndex);
                cursor.close();


                final Dialog dialog = new Dialog(SelectImagesActivity.this);
                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.setContentView(R.layout.upload_image);
                ImageView imageView = (ImageView) dialog.findViewById(R.id.imageView1);
                imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
                EditText editText = (EditText)dialog.findViewById(R.id.keyWords);
                Button button = (Button)dialog.findViewById(R.id.done);
                dialog.setCancelable(false);
                dialog.getWindow().setLayout(550, 900);
                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                dialog.show();
                imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

            } else {
            Toast.makeText(this, "You haven't picked Image",
                    Toast.LENGTH_LONG).show();
        }
    } catch (Exception e) {
        Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG)
                .show();
    }

}

任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:0)

更改

 dialog.show();
 imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
dialog.show();

答案 1 :(得分:0)

更改为:

imageView.setImageURI(Uri.parse(picturePath));