Android 应用程序允许用户从他们的手机图库中选择一张照片,我将 URI 保存到 realm。然后我检索此信息并使用 Picasso 将其加载到 ImageView 中。由于某种原因,图像未加载。
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);
最佳答案
你得到的 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
路径,但最好不要这样做,因为 Picasso 支持从文件加载..
关于Android 无法使用 Picasso 从 URI 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43315556/