Search code examples
javaandroidandroid-imageview

Why can't show pic in ImageView which pick pic from mobile simulator's storage?


 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

↑Problem snapshoot please click here.

problem result empty image:
problem result empty image

↑Yellow line is the result which didn't show any pic.

When I chose photo from mobile storage, I couldn't show photo in ImageView(mImageView) like pic link above. Please tell me why?


Solution

  •  @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();
                }
            }
        }