代码:
imgview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this,ImageDivision.class);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
i.putExtra("bmp_img", bmp);
startActivity(i);
}
});
答案 0 :(得分:1)
使用静态HashMap
存储图像。
在图片上点击,只需将图片的名称放在HashMap
中,您就可以通过名称获取图片。
public static HashMap<String, Bitmap> globalImageMap;
onImageClick:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
globalImageMap.put(name,bmp);
Intent intent= new Intent(this, ImageDivision.class);
intent.putExtra("ImageName",name);
startActivity(i);
ImageDivision.class
:只需在HashMap
中按名称查看图片。
Intent intent = getIntent();
String s = intent.getStringExtra("ImageName");
if (globalImageMap.containsKey(s)) {
yourImageView.setImageBitmap(globalImageMap.get(s));
}
答案 1 :(得分:0)
您需要将位图转换为字节[],然后您可以在其他活动中再次将byte []转换为位图。
位图到字节[]
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] ba = stream.toByteArray();
Intent intent= new Intent(this, ImageDivision.class);
intent.putExtra("bmp_image",ba);
startActivity(i);
byte []到位图
byte[] ba= getIntent().getByteArrayExtra("bpm_image");
Bitmap bmp = BitmapFactory.decodeByteArray(ba, 0, ba.length);