Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用target时Android Picasso回调_Java_Android_Picasso - Fatal编程技术网

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库更新为最新库