0

我有一个图像文件存储在 internalstorage 中: 

"file:///storage/emulated/0/Download/pdfthumbnail5/helloworld.jpg"

我用图像查看器应用程序打开它没有问题,所以文件没有损坏或不可读。

我想要做的是,我想在我的自定义列表视图上绘制这个 jpg 作为缩略图,我的所有列表视图逻辑工作正常(这不是这里的问题),每次当应用程序尝试绘制图像缩略图时,它抱怨图像文件不存在,我试图检查这个方法的值:

private static Drawable getDrawableFromUrl(final String url) throws IOException {
        if (url.contains("http")){   //when intent access available
            return Drawable.createFromStream(((java.io.InputStream) new java.net.URL(url).getContent()), "name");
        } else {   // when there is no internet access
            return Drawable.createFromPath(url);
        }
    }

它为 Drawable 返回我空对象....顺便说一句,if请忽略第一部分语句,这是当应用程序可以访问互联网时,它直接从 url 绘制时绘制缩略图没有问题。问题是,它不会从本地内部存储 jpg 中绘制缩略图。

请帮助我提供代码示例。谢谢

4

1 回答 1

1
private static Drawable getDrawableFromUrl(final String url, Context context) throws IOException {
        if (url.contains("http")){
            return Drawable.createFromStream(((java.io.InputStream) new java.net.URL(url).getContent()), "name");
        } else {
            return Drawable.createFromPath(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS + "/pdfthumbnail5/helloworld.jpg").toString());
        }
    }

作品!

于 2014-07-23T12:11:13.437 回答