安卓毕加索无效不起作用


if(isConnected()) { // if device online
    Picasso.with(context)
            .load(url)
            .networkPolicy(NetworkPolicy.NO_CACHE)
            .placeholder(R.drawable.ic_contact_picture)
            .error(R.drawable.ic_contact_picture)
            .into(imageView, new Callback() {
                @Override
                public void onSuccess() { }
                @Override
                public void onError() {
                    Picasso.with(context).invalidate(url);
                }
            });
} else { // if device offline
    Picasso.with(context)
            .load(url)
            .networkPolicy(NetworkPolicy.OFFLINE) // force load cached image
            .placeholder(R.drawable.ic_contact_picture)
            .error(R.drawable.ic_contact_picture)
            .into(imageView);
}

早些时候,我的服务器上有一个图像。我用毕加索获取了那张图片,它被缓存了。

现在我删除了该图像,因此我想在毕加索缓存中使该图像无效。现在,在设备联机时刷新图像视图时,图像视图为空白,并且按预期执行了onError。

现在,当设备离线时,执行 else 部分,并且由于我已经给出了 networkpolicy.offline,毕加索将被迫显示缓存的图像,这不应该存在,因为我之前已经使它无效。它仍然显示缓存中的图像。为什么?

使用它来使图像路径失效:

Picasso.with(mContext).invalidate(ImagePath + ".jpg");  

要加载图像,请使用:

 Picasso.with(mContext).load(ImagePath+".jpg").networkPolicy(NetworkPolicy.NO_CACHE).placeholder(R.drawable.loading).error(R.drawable.ic_new).into(Imageview);

最新更新