加载图片不显示问题。
老师,你好。我想一进来显示所有的图片,不分文件夹显示。所以我将所有的路径都传递到Adapter里面,现在遇到的问题是,
这样他只会显示最后一个文件里面的图片。前面的文件里面的图片不会显示。求解!logcat里面会出现这个信息
老师,你好。我想一进来显示所有的图片,不分文件夹显示。所以我将所有的路径都传递到Adapter里面,现在遇到的问题是,
这样他只会显示最后一个文件里面的图片。前面的文件里面的图片不会显示。求解!logcat里面会出现这个信息
2015-10-29
这是我那会报错的内容:
Unable to decode stream: java.io.FileNotFoundException: /storage/sdcard1/DCIM/Camera/cache: open failed: EISDIR (Is a directory)
这里说的很明白了.FileNotFoundException文件没有被发现,路径是:/storage/sdcard1/DCIM/Camera/cache ,(Is a directory) 这是一个目录,当imageloader处理流程是根据路径读取内存卡中的图片、压缩、缓存到lurcache,设置到imageview。
那么为什么会报这个错呢?是因为我们把这个image的list数据集传过来的时候,里面居然有文件夹。
问题的位置在这里,mImgs = Arrays.asList(mCurrentDir.list());
//mCurrentDir是这个图片最多的文件夹,mCurrentDir.list()是返回里面所有的文件=mImgs ,可是这个文件夹里有图片也可能有子文件夹啊,不信你看看手机内存卡,或打印一下mImgs.length 和mMaxCount,他们不相等,mImgs.length要大,因为里面有文件夹被算进去了,mMaxCount是正确的,那是因为前面if(..endsWith(".jpg")||endsWith(".jpeg")||endsWith(".png"))就把文件夹排除了,
所以解决方案是把:mImgs = Arrays.asList(mCurrentDir.list()); 删掉,把前面if(..endsWith(".jpg")||endsWith(".jpeg")||endsWith(".png"))的那段代码在拿过来,(去掉后面的.length)就可以了
举报