3
下面的代码段用于加载文件转换成位图,保存在内部的目录(即PNG或JPG格式)文件毕加索目标onBitmapLoaded不叫在for循环
final List<Target> targets = new ArrayList<Target>();
final List<Target> targetsNormal = new ArrayList<Target>();
for (int j = 0; j < defaultTileImage.size(); j++) {
final String slangTiles = defaultTileImage.get(j).getPairName() +
ApplicationConstants.SLANG_TILES;
final String normalTiles = defaultTileImage.get(j).getPairName() +
ApplicationConstants.NORMAL_TILES;
final int k = j;
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Log.i("Targets", "Loaded: " + k);
targets.remove(this);
saveIntoBitmap(bitmap, slangTiles);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
targets.remove(this);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
Log.i("Targets", "Preparing: " + k);
}
};
Target targetNormal = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Log.i("TargetsNormal", "Loaded: " + k);
targetsNormal.remove(this);
saveIntoBitmapSlang(bitmap, normalTiles);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
targetsNormal.remove(this);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
Log.i("TargetsNormal", "Preparing: " + k);
}
};
targetsNormal.add(targetNormal);
Picasso.with(MainActivity.this)
.load(defaultTileImage.get(j).getNormalTileImg()) // Start loading the current target
.resize(100, 100)
.into(targetNormal);
targets.add(target);
Picasso.with(MainActivity.this)
.load(defaultTileImage.get(j).getSlangTileImg()) // Start loading the current target
.resize(100, 100)
.into(target);
}
还参观这个link和按本实施使Target成为强有力的参考指南。但不幸的是很多时候onBitmapLoaded没有得到任何回调。
我很欣赏你在解决proble米帮助
老兄你可以发布的情况下,图像url的截图? (建议使用[Glide](https://github.com/bumptech/glide)) – Gattsu
截图?其实我只是在做保存这个文件的操作。 – QuokMoon
[启用日志记录](https://github.com/square/picasso/blob/master/picasso/src/main/java/com/squareup/picasso/Picasso.java#L447)在毕加索,并进行分析。 –