Android应用程序允许用户从手机图库中选择一张照片,我将URI保存到realm中。然后,我检索此信息并使用毕加索将其加载到图像视图中。由于某些原因,图像未被加载。
URI类似于:
content://com.android.providers.media.documents/document/image%3A333180我使用mCategory.icon = imageURI.toString()将其保存到realm,然后在加载它时:
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);发布于 2017-04-10 13:37:22
您得到的URI是一个ContentProvider URI,用毕加索来显示它,您可以尝试这样做:
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路径,但最好不要转换,因为毕加索支持从文件加载。
发布于 2017-04-10 13:39:25
使用毕加索中的setLoggingEnabled(true)检查日志中是否有任何错误消息。
发布于 2017-04-10 14:22:45
提到的URI包含冒号的编码值,即%3A。
或者重命名源代码,或者尝试使用Glide或其他库来实现此目的。
https://stackoverflow.com/questions/43315556
复制相似问题