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



我的主要活动包含图像视图,编辑活动有一个用于更改图像视图中的图像的按钮。 我使用 Intent 来启动 ActivityForResult 和 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();
}
}
}

选择的图片未设置,请帮忙

不应将 Bitmap 传递给其他活动。

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

将 URI 传递给另一个活动并根据需要加载。希望对您有所帮助!

最新更新