动态生成的imageview不显示在android中使用毕加索加载的图像
我正在尝试使用毕加索将图像加载到自定义的动态生成的imageview不显示在android中使用毕加索加载的图像,android,imageview,picasso,Android,Imageview,Picasso,我正在尝试使用毕加索将图像加载到自定义的图像视图。 ImageView是动态生成的。我的问题描述如下: 如果我动态生成六个ImageView,则仅在第六个ImageView上设置图像,而在前五个ImageView上不显示任何内容 有人能告诉我如何在所有6个图像上设置图像吗。我的代码如下: for(int i=0;i<6;i++) { imv = new RoundedImageView(Home.this); imv.setId(i); imv.setTag(i)
图像视图
。
ImageView是动态生成的。我的问题描述如下:
如果我动态生成六个ImageView,则仅在第六个ImageView上设置图像,而在前五个ImageView上不显示任何内容
有人能告诉我如何在所有6个图像上设置图像吗。我的代码如下:
for(int i=0;i<6;i++) {
imv = new RoundedImageView(Home.this);
imv.setId(i);
imv.setTag(i);
Picasso.with(Home.this).load( url ).into(target);
layout.addView(imv);
}
private Target target = new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, final Picasso.LoadedFrom from) {
Bitmap resized = Bitmap.createScaledBitmap(bitmap, 50, 50, true);
BitmapDrawable bdrawable = new BitmapDrawable(resized);
imv.setBackground(bdrawable);
}
for(int i=0;i更改为:
Picasso.with(Home.this).load( url ).into(imv);
好的,您正试图使用一个目标将6个图像加载到6个不同的视图中。您希望如何工作?一个目标将为单个图像加载提供一个任意侦听器。您需要6个图像。请进行计算。:)我应该为此添加6个目标吗?有没有办法过于动态地生成目标?这是一种选择。不过,在加载回调(发生在ui线程上)中执行位图操作可能并不理想。更好的方法是使用毕加索的特征。在你的情况下,这将是一个单一的班轮,但。但是,如果你可以简单地调用毕加索.with(Home.this).load(url).resize(50,50).into(imv)
(也可以选择指定比例类型),为什么还要重新发明轮子呢这并不能真正回答问题,因为它不再缩放位图。