将图像发送到另一个活动

时间:2018-11-17 09:42:55

标签: android

我正在尝试将ListView中的图像从onItemClick发送到另一个活动中的onCreate方法。

这是我的代码:

活动1

product_imageView= findViewById(R.id.product_imageView);


byte[] image = savedInstanceState.getByteArray("Product image");

 Bitmap receivedImage = BitmapFactory.decodeByteArray(image,0,image.length);

//here it give me error
        product_imageView.setImageResource(receivedImage);

活动1

String productimage = productslist.get(position).getProductImage();

Bundle bundle = new Bundle();
                bundle.putByteArray("Product image", productimage.getBytes());
                intent.putExtras(bundle);
                startActivity(intent);

3 个答案:

答案 0 :(得分:0)

为什么要在活动之间发送图像?为什么不将图像放置在可绘制文件夹中,并将图像的名称或路径传递给下一个活动,然后显示或执行您想做的任何事情。

答案 1 :(得分:0)

您这样做

  1. 将图像放入可绘制文件夹中,例如image1.png。
  2. 然后,您要做的就是将带有图像名称的字符串解析到第二个活动示例中:
   Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
                intent.putExtra("image", "image1.png");
                startActivity(intent);
  1. 例如,在显示的第二个活动上:
  Intent intent = getIntent();
  String imageStr = intent.getStringExtra("image");
  ImageView imageView = (ImageView)findViewById(R.id.myimage);
  imageView.setImageResource(R.drawable.image1);

我希望代码是正确的,请原谅我匆忙编写的错误。

答案 2 :(得分:0)

请尝试这个

首先将图像视图转换为位图。

product_imageView.buildDrawingCache();
Bitmap bitmap = product_imageView.getDrawingCache();

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("BitmapImage", bitmap);

在第二个活动中,请包括以下行:

  Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage");

  imageview.setImageBitmap(bitmap);