首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android无法使用毕加索从URI加载图像

Android无法使用毕加索从URI加载图像
EN

Stack Overflow用户
提问于 2017-04-10 13:27:49
回答 4查看 7.4K关注 0票数 4

Android应用程序允许用户从手机图库中选择一张照片,我将URI保存到realm中。然后,我检索此信息并使用毕加索将其加载到图像视图中。由于某些原因,图像未被加载。

URI类似于:

代码语言:javascript
运行
复制
content://com.android.providers.media.documents/document/image%3A333180

我使用mCategory.icon = imageURI.toString()将其保存到realm,然后在加载它时:

代码语言:javascript
运行
复制
Picasso.with(getContext())
                .load(Uri.parse(mCategory.icon)) // mCategory.icon is a string 
                .resize(200, 200)
                .error(R.drawable.mountain) // default image to load
                .into(viewHolder.categoryIcon);
EN

回答 4

Stack Overflow用户

发布于 2017-04-10 13:37:22

您得到的URI是一个ContentProvider URI,用毕加索来显示它,您可以尝试这样做:

代码语言:javascript
运行
复制
    File file = new File(Uri.parse(mCategory.icon));
    Picasso.with(getContext())
            .load(file)  
            .resize(200, 200)
            .error(R.drawable.mountain) 
            .into(viewHolder.categoryIcon);

附言:虽然您可以将ContentProveder路径转换为Absolute路径,但最好不要转换,因为毕加索支持从文件加载。

票数 4
EN

Stack Overflow用户

发布于 2017-04-10 13:39:25

使用毕加索中的setLoggingEnabled(true)检查日志中是否有任何错误消息。

票数 2
EN

Stack Overflow用户

发布于 2017-04-10 14:22:45

提到的URI包含冒号的编码值,即%3A。

或者重命名源代码,或者尝试使用Glide或其他库来实现此目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43315556

复制
相关文章

相似问题

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