如何将Picasso下载的图像作为额外的意图

时间:2016-02-01 12:28:25

标签: android listview android-intent picasso

我有一个列表,其中每个项目都有图像和描述。使用Picasso在列表适配器中下载图像。

单击列表项时,我想在另一个活动中显示该图像。

我无法使用此onBackPressed()

直接从ImageView引用中检索图像位图

当我检查以这种方式检索的drawable的类类型时,它是((BitmapDrawable)image.getDrawable()).getBitmap();,无法将其转换为PicassoDrawable

如何获取图像数据(使用Picasso检索)作为意图中的额外内容传递?

谢谢

2 个答案:

答案 0 :(得分:4)

  

我有一个列表,其中每个项目都有图像和描述。图像   使用Picasso在列表适配器中下载。当列表项是   点击我想在另一个活动中显示该图像。

Picasso负责为您缓存Bitmap。我强烈建议您传递要显示的图片的网址,并使用Bitmap加载它,而不是尝试从List检索Picasso并将其传递给新的活动。再次。传递String(位图的网址)比传递整个Bitmap轻一点,它肯定会提高性能

答案 1 :(得分:3)

我同意Blackbelt所说的一切。只想通过示例扩展他的答案,例如如何使用Picasso从url传递图像并在新活动中检索它。

Intent passImage = new Intent(MainActivity.this, SecondActivity.class);
passImage.putExtra("image", arrayList.get(position).getImage()); // getImage() is your
method in your class

这是一个如何在第二个活动中检索图像的示例。

Intent getImage = getIntent();
String gettingImageUrl = getImage.getStringExtra("image");
Picasso.with(SecondActivity.this).load(gettingImageUrl).into(imageView);