将位图从一个 activity 发送到另一个错误

Send Bitmap from one activity to other Error

我正在尝试将四个位图从 "ActivityOne.java" 传递到另一个 Activity、"ActivityTwo.java"

我的代码

声明 ImageViews

//..........//

private ImageView img_1, img_2, img_3, img_4;

//........//


 onCreate...>>>     //.........//

        img_1 = (ImageView) this.findViewById(R.id.img_1);
        img_2 = (ImageView) this.findViewById(R.id.img_2);
        img_3 = (ImageView) this.findViewById(R.id.img_3);
        img_4 = (ImageView) this.findViewById(R.id.img_4);

//.........//

Activity一个

        //Image 1
        img_1.buildDrawingCache();
        Bitmap image= img_1.getDrawingCache();

        Bundle extras = new Bundle();
        extras.putParcelable("imagebitmap", image);

        //Image 2
        img_2.buildDrawingCache();
        Bitmap image2= img_2.getDrawingCache();

        Bundle extras2 = new Bundle();
        extras2.putParcelable("imagebitmap2", image2);

        //Image 3
        img_3.buildDrawingCache();
        Bitmap image3= img_3.getDrawingCache();

        Bundle extras3 = new Bundle();
        extras3.putParcelable("imagebitmap3", image3);

        //Image 4
        img_4.buildDrawingCache();
        Bitmap image4= img_4.getDrawingCache();

        Bundle extras4 = new Bundle();
        extras4.putParcelable("imagebitmap4", image4);

        Intent intent = new Intent(this, ActivityTwo.class);

        intent.putExtras(extras); //image1
        intent.putExtras(extras2); //image2
        intent.putExtras(extras3); //image3
        intent.putExtras(extras4); //image4

        startActivity(intent);

Activity两个

//********//


//get image1
Bundle extras = getIntent().getExtras();
Bitmap bmp = (Bitmap) extras.getParcelable("imagebitmap");

img_1_confir.setImageBitmap(bmp);

//get ImageView 2
Bundle extras2 = getIntent().getExtras();
Bitmap bmp2 = (Bitmap) extras2.getParcelable("imagebitmap2");

img_2_confir.setImageBitmap(bmp2);

//get ImageView 3
Bundle extras3 = getIntent().getExtras();
Bitmap bmp3 = (Bitmap) extras3.getParcelable("imagebitmap3");

img_3_confir.setImageBitmap(bmp3);

//get ImageView 4
Bundle extras4 = getIntent().getExtras();
Bitmap bmp4 = (Bitmap) extras4.getParcelable("imagebitmap4");

img_4_confir.setImageBitmap(bmp4);

//*******//

问题

这行得通,越来越少,我不得不说直接从相机设备中获取蹩脚的图像并将每个单独保存在 ImageView 中,保存完好,因为我可以在 Activity 中看到缩略图,但是当试图通过 Activity两个时,单独使用两个图像,无论是什么。

我试过:

如果我在图片 1、2、3 和 4 上拍照,我只能移动图片 1 和 2。

如果我在图 1,2 和 3 上拍照,我会单独与图 1 和图 2 一起度过。

如果我在图片 4、3 和 2 上拍照,我只能移动图片 2 和 3。

也就是说,我只能用显示的前两个图像。

有什么建议吗?

编辑(解决方案)

只使用一个包...简单。

不要传递多个捆绑包。使用一个包并将所有位图添加到其中。