Java 使用target时Android Picasso回调
我有一种为毕加索创建目标的方法,如下所示:Java 使用target时Android Picasso回调,java,android,picasso,Java,Android,Picasso,我有一种为毕加索创建目标的方法,如下所示: private void createTargets() { Target target; for (Id id : itemids) { target = picassoImageTarget(getContext(), "imageDir", id.getId() + ".png"); imgTargets.add(new ImgTarget(id.getId(), target)); }
private void createTargets() {
Target target;
for (Id id : itemids) {
target = picassoImageTarget(getContext(), "imageDir", id.getId() + ".png");
imgTargets.add(new ImgTarget(id.getId(), target));
}
}
然后我通过以下方式将图像下载到磁盘:
private void download() {
for (ImgTarget imgTarget : imgTargets) {
Picasso.with(getContext()).load("https://www.sestavsisvujsvet.cz/files/magnetky/" + imgTarget.getId() + ".png").into(imgTarget.getTarget());
}
}
它执行我希望它执行的操作,但是我无法获得回调,因为只有在使用ImageView时才存在具有回调的构造函数:
有人能帮我找到解决办法吗?我不太理解回调和类似的事情,所以我很难理解
我只需要知道整个下载过程何时完成,以便通知用户
谢谢:)毕加索
目标
本质上是一个回调,如果您查看目标
对象,它具有以下结构:
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
// Notify the user
}
@Override
public void onBitmapFailed(Exception e, Drawable errorDrawable) {
// Notify the user
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
};
在函数picassoImageTarget(…)
中,您将构建该目标,在onBitmapLoaded
和onBitmapFailed
中,您可以根据您的实现将代码放入以通知用户。另外,我注意到您正在使用
Picasso.with(context)
,这已更新为最新库中的Picasso.get()
,可能也值得将您的Picasso库更新为最新库