web-dev-qa-db-ja.com

ImageViewを使用せずにピカソでビットマップをロードする方法は?

ImageViewを使用すると、次のコードを使用して、コールバック付きの画像をダウンロードできます

_Picasso.with(activity).load(url).into(imageView, new Callback()
{
    @Override
    public void onSuccess() 
    {
        // do something
    }

    @Override
    public void onError() { }
);
_

または、単にこのPicasso.with(activity).load(url).get();からビットマップを取得します。とにかく画像をダウンロードするためのコールバックを追加する方法はありますか?可能であれば、サンプルコードを提供してください、乾杯!

30
EES

aを作成Targetしてから、TargetsコールバックメソッドonBitmapLoaded(...)内でBitmapを変更できます。方法は次のとおりです。

// make sure to set Target as strong reference
private Target loadtarget;

public void loadBitmap(String url) {

    if (loadtarget == null) loadtarget = new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
            // do something with the Bitmap
            handleLoadedBitmap(bitmap);
        }

        @Override
        public void onBitmapFailed() {

        }
    };

    Picasso.with(this).load(url).into(loadtarget);
}

public void handleLoadedBitmap(Bitmap b) {
    // do something here
}
45
Philipp Jahoda