Android 无法使用 Picasso 从 URI 加载图像

标签 android picasso

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/

相关文章:

php - 在 PhoneGap 应用程序上显示 SQL 数据 - 可以使用 URL 吗?

java - picasso 在第一次调用时不会加载图像

Android Studio Picasso gif 加载占位符图像

java - 从 Android 中的图库加载图像

c# - Android Bitmap.Compress 给 byte[] 提供 -1 字节?

java - 在节电模式 Android 上运行后台服务

java - 处理 Picasso(重新)抛出的异常

android - OkHTTP 和 Picasso 不能一起运行

android - 无法使用 Android Picasso 在我的 ImageView 中加载图像

java - Espresso 2.0 - 在扩展 junit3 测试用例的类中用 @Test 注释的方法