Android应用允许用户从手机图库中选择一张我将URI保存到领域的照片。然后我检索此信息并使用Picasso将其加载到图像视图中。由于某种原因,图像未加载。
URI类似于:
content://com.android.providers.media.documents/document/image%3A333180
我使用mCategory.icon = imageURI.toString()
将其保存到域中,然后在加载时:
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);
答案 0 :(得分:4)
你得到的URI是一个ContentProvider
URI,用来表示你尝试这样做的Picasso:
File file = new File(Uri.parse(mCategory.icon));
Picasso.with(getContext())
.load(file)
.resize(200, 200)
.error(R.drawable.mountain)
.into(viewHolder.categoryIcon);
P.S:虽然你可以将你的ContentProveder
路径转换为Absolute
路径,但如果你没有,毕加索支持从文件中加载,那么它会更好..
答案 1 :(得分:1)
在picasso中使用setLoggingEnabled(true)
检查日志是否有任何错误消息。
答案 2 :(得分:0)
提到的URI包含冒号的编码值:,即%3A。
重命名来源或尝试Glide或其他一些库来达到目的。
答案 3 :(得分:0)
这与新版本的Picasso 2.71828
完美配合Picasso.get()
.load(imageUri)
.placeholder(R.drawable.placeholder)
.fit()
.centerCrop()
.into(viewHolder.categoryIcon);