首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android picasso失效

android picasso失效
EN

Stack Overflow用户
提问于 2015-10-28 18:24:55
回答 1查看 2.3K关注 0票数 1
代码语言:javascript
运行
复制
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);
}

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

现在我删除了那个图像,所以我想在picasso缓存中使这个图像失效。现在,在刷新设备联机时的图像视图时,图像视图为空白,并按照预期执行了onError。

但,

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-05 12:02:43

使用此方法可使图像路径无效:

代码语言:javascript
运行
复制
Picasso.with(mContext).invalidate(ImagePath + ".jpg");  

并加载您的图像使用:

代码语言:javascript
运行
复制
 Picasso.with(mContext).load(ImagePath+".jpg").networkPolicy(NetworkPolicy.NO_CACHE).placeholder(R.drawable.loading).error(R.drawable.ic_new).into(Imageview);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33398792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档