毕加索在 Android 上尝试加载图像时从不调用完成处理程序

Picasso never calling completion handler while trying to load an image on Android

我正在尝试加载图像:

   Picasso.with(SelectActivity.this).load(picture).into(new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
            bmp = bitmap;
            findViewById(R.id.facebookButton).setEnabled(true);
            continueToEditing();
        }

        @Override
        public void onBitmapFailed(Drawable errorDrawable) {
            findViewById(R.id.facebookButton).setEnabled(true);
        }

        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {

        }
    });

picture 是可访问的有效 JPEG 图像的有效字符串。我在 try/catch 块中获取了所有内容,并且在 onBitmapLoadedonBitmapFailed 和 try/catch 的 catch 块中设置了断点。

不过,none这个叫。 logcat 中也没有与此相关的内容。我做错了什么?

尝试将 Target 对象的 strong 引用作为 class 变量并试一试。

例如

Target target;// Class variable
//Now define this on your onCreate method
target = new Target() {
    @Override
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
        bmp = bitmap;
        findViewById(R.id.facebookButton).setEnabled(true);
        continueToEditing();
    }

    @Override
    public void onBitmapFailed(Drawable errorDrawable) {
        findViewById(R.id.facebookButton).setEnabled(true);
    }

    @Override
    public void onPrepareLoad(Drawable placeHolderDrawable) {

    }
});
//Now set the target on the Piccaso load LOC
Picasso.with(SelectActivity.this).load(picture).into(target);