我有一个列表,其中每个项目都有图像和描述。使用Picasso在列表适配器中下载图像。
单击列表项时,我想在另一个活动中显示该图像。
我无法使用此onBackPressed()
ImageView
引用中检索图像位图
当我检查以这种方式检索的drawable的类类型时,它是((BitmapDrawable)image.getDrawable()).getBitmap();
,无法将其转换为PicassoDrawable
。
如何获取图像数据(使用Picasso检索)作为意图中的额外内容传递?
谢谢
答案 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);