在一篇博客中看到
//图片来源于Content provider
String contentprividerUrl = "content://media/external/audio/albumart/13";
//图片来源于assets
String assetsUrl = Scheme.ASSETS.wrap("image.png");
//图片来源于
String drawableUrl = Scheme.DRAWABLE.wrap("R.drawable.image");
采用Scheme.DRAWABLE加载APP目录中的图片,发现加载不出来,报错
01-09 18:35:55.200: E/ImageLoader(12970): Invalid int: "R.drawable.h4"
01-09 18:35:55.200: E/ImageLoader(12970): java.lang.NumberFormatException: Invalid int: "R.drawable.h4"
后来在另外一篇博客中有解释说这种方式不对。要采用下面的方式
Acceptable URIs examples
"http://site.com/image.png" // from Web
"file:///mnt/sdcard/image.png" // from SD card
"file:///mnt/sdcard/video.mp4" // from SD card (video thumbnail)
"content://media/external/images/media/13" // from content provider
"content://media/external/video/media/13" // from content provider (video thumbnail)
<span style="color:#ff0000;">"assets://image.png" // from assets
"drawable://" + R.drawable.img // from drawables (non-9patch images)</span>
NOTE: Use drawable:// only if you really need it! Always consider the native way to load drawables -
ImageView.setImageResource(...) instead of using of ImageLoader.
于是,代码中改成:
private String[] imageUrls2 = {"drawable://" + R.drawable.h1 ,};
测试成功加载出图片