我们在使用SwipeRefreshLayout的时候,会用到listview或者PullToRefreshListView配合使用,但是我们在listview条目要求加载图片时(这个图片有可能一张,有可能多张)的情况下,这个就相对于有点复杂,复杂在你每个item获取的图片的数量都不一致,也不一样,也不确定他联网到的数据中到底有没有图片,,所以在这种情况下我是在布局中添加了ImageView组件,而且是多个(先让它占个位置,不要默认给他添加图片,这样的话当你有显示的图片的话就会显示你获取到的图片,如果没有的话,他也不会占你的布局空间)。现在我把我的代码贴一下。
首先呢 在activity_mainXML文件中定义好 代码如下
然后再适配器中关联view 在view中定义ImageView。我是用了九个用它来占位置,一排三个,然后再代码中找到这些ImageView,我这里是把联网获取的这些图片的字符串看作是一个集合,首先看一下这个集合是否为空,不为空的话给他返回一个有数据的集合:
其次还要判断这个集合是否大于0,也就是看看到底这些字符串里 有没有图片的,由于我们无法判断他每个item的图片数量和是否有没有图片,所以我们锁定一个item来说, 这时候我们封装一个方法,如果有图片的话 给它设置一个标志位并让它显示,如果没有的话就不设置,
如果大于0代表有图片的数据,就调用该方法
否则的话调用该方法给他隐藏状态
好 ,上面就完成了给ImageView添加tag,并且不让他重复显示。