我想通过Intent将Drawable中的图像从一个活动传递到另一个活动?

时间:2013-06-11 08:03:26

标签: android

我正在使用这部分代码发送图片......

public void onClick(View v) {

                Intent goto_membersdealsdetails = new Intent(
                        "com.abc.cd.FE");

                goto_membersdealsdetails.putExtra("valueq", R.drawable.app_icon);


                v.getContext().startActivity(goto_membersdealsdetails);

为了得到我正在使用这种代码的图像...

   imag_link = getIntent().getStringExtra("valueq");

   Toast.makeText(getApplicationContext(), imag_link, Toast.LENGTH_LONG)
                    .show();

它的吐司提供了一个空白的吐司......

我想将图像设置为某个图像视图....建议

2 个答案:

答案 0 :(得分:2)

你可以传递字节数组并获取bytearray然后制作位图

 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);     
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); 
    byte[] b = baos.toByteArray();

    Intent intent = new Intent(this, ActivityB.class);
    intent.putExtra("picture", b);
    startActivity(intent);

在Activity B中,您将获得具有字节数组(解码图片)的意图,并将其作为源应用于ImageView:

Bundle extras = getIntent().getExtras();
byte[] b = extras.getByteArray("picture");

Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);
ImageView image = (ImageView) findViewById(R.id.imageView1);
image.setImageBitmap(bmp);

答案 1 :(得分:0)

您正在传递意图中的int值。所以打电话

imag_link = getIntent().getIntExtra("valueq", value);