为了账号安全,请及时绑定邮箱和手机立即绑定

加载图片不显示问题。

老师,你好。我想一进来显示所有的图片,不分文件夹显示。所以我将所有的路径都传递到Adapter里面,http://img1.sycdn.imooc.com//563188d1000180c410640099.jpg现在遇到的问题是,

这样他只会显示最后一个文件里面的图片。前面的文件里面的图片不会显示。求解!logcat里面会出现这个信息http://img1.sycdn.imooc.com//563189950001fa7705720344.jpg

正在回答

1 回答

这是我那会报错的内容:

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)就可以了

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-仿微信图片选择器
  • 参与学习       29299    人
  • 解答问题       88    个

微信中的图片选择器综合案例不容错过,整体思路值得一学

进入课程

加载图片不显示问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信