为什么无法在ImageView中显示pic从移动模拟器的存储中选择图片?

问题描述 投票:0回答:2
 public class MainActivity extends AppCompatActivity {
        private static final int PICK_IMAGE_REQUEST = 1;
        private Button mButtonChooseImage;
        private Button mButtonUpload;
        private TextView mTextViewShowUploads;
        private EditText mEditTextFileName;
        private ImageView mImageView;
        private ProgressBar mProgressBar;
        private Uri mImageUri;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            mButtonChooseImage = findViewById(R.id.button_choose_image);
            mButtonUpload = findViewById(R.id.button_upload);
            mTextViewShowUploads = findViewById(R.id.text_view_show_upload);
            mEditTextFileName = findViewById(R.id.edit_text_file_name);
            mImageView = findViewById(R.id.image_view);
            mProgressBar = findViewById(R.id.progress_bar);

            mButtonChooseImage.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    openFileChooser();
                }
            });

            mButtonUpload.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            });

            mTextViewShowUploads.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            });
        }
        private void openFileChooser(){
            Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(intent, PICK_IMAGE_REQUEST);
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if(requestCode == PICK_IMAGE_REQUEST && requestCode == RESULT_OK
                    && data != null && data.getData() != null ){
                mImageUri = data.getData();

                mImageView.setImageURI(mImageUri);

            }
        }
    }

Problem snapshot

↑问题snapshoot请点击这里。

问题结果空图像: problem result empty image

↑黄线是没有显示任何pic的结果。

当我从移动存储中选择照片时,我无法在ImageView(mImageView)中显示照片,如上面的pic链接。请告诉我为什么?

java android android-imageview
2个回答
0
投票

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == requst && resultCode == RESULT_OK && data != null) {
            Uri uri = data.getData();
            try {
                bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
                mImageView.setImageBitmap(bitmap);
              
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

0
投票

我从未直接将选定的图像放在ImageView上,但我使用Glide库完成了相同的操作。我建议你使用它。

如何使用滑行将所选图像放入imageview中:

Glide.with(context)
            .load(path)
            .into((ImageView) findViewById(imageViewId));

其中path是选定的图像路径。

© www.soinside.com 2019 - 2024. All rights reserved.