我尝试将四个位图从"ActivityOne.java"
传递到另一个活动,"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);
//.........//
ActivityOne
//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);
ActivityTwo
//********//
//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中,保存得很好,因为我可以在ActivityOne中看到缩略图,但在尝试传递ActivityTwo时,无论如何,单独花两张图片。
我试过了:
如果我在图片1,2,3和4上拍照,我只能设法移动图像1和2.
如果我在图片1,2和3上拍照,我会单独和图像1和2一起使用。
如果我在图片4,3和2上拍照,我只能设法移动图像2和3.
也就是说,我只能花费前两张图片。
有什么建议吗?
编辑(解决方案)
仅使用一个捆绑......简单。
答案 0 :(得分:1)
不要传递多个捆绑包。使用一个捆绑包并将所有位图添加到该捆绑包中。