将位图数据从一个活动传递到另一个活动

时间:2018-07-05 08:35:23

标签: java android android-intent bitmap

我的主要活动包含imageview,而editactivity具有一个用于在imageview中更改图像的按钮。 我使用了Intent来startActivityForResult,并且onActivityResult代码如下所示

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

        Uri uri = data.getData();


        try {
            bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
            View mainactivity;


            ImageView imageprofile;
            mainactivity= LayoutInflater.from(this).inflate(R.layout.activity_main,null);
            imageprofile = (ImageView)mainactivity.findViewById(R.id.ProfileImage);


            imageprofile.setImageBitmap(bitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

未设置所选图片,请帮助

1 个答案:

答案 0 :(得分:0)

不应将位图传递给另一个活动。

传递整个位图需要大量内存

将URI传递给另一个活动,并在需要时进行加载。希望对您有帮助!