给ImageView添加tag,避免view复用导致图片的重复

来源:互联网 发布:域名过户需要多长时间 编辑:程序博客网 时间:2024/06/18 12:43

 我们在使用SwipeRefreshLayout的时候,会用到listview或者PullToRefreshListView配合使用,但是我们在listview条目要求加载图片时(这个图片有可能一张,有可能多张)的情况下,这个就相对于有点复杂,复杂在你每个item获取的图片的数量都不一致,也不一样,也不确定他联网到的数据中到底有没有图片,,所以在这种情况下我是在布局中添加了ImageView组件,而且是多个(先让它占个位置,不要默认给他添加图片,这样的话当你有显示的图片的话就会显示你获取到的图片,如果没有的话,他也不会占你的布局空间)。现在我把我的代码贴一下。

      首先呢   在activity_mainXML文件中定义好 代码如下

然后再适配器中关联view  在view中定义ImageView。我是用了九个用它来占位置,一排三个,然后再代码中找到这些ImageView,我这里是把联网获取的这些图片的字符串看作是一个集合,首先看一下这个集合是否为空,不为空的话给他返回一个有数据的集合:

其次还要判断这个集合是否大于0,也就是看看到底这些字符串里  有没有图片的,由于我们无法判断他每个item的图片数量和是否有没有图片,所以我们锁定一个item来说, 这时候我们封装一个方法,如果有图片的话  给它设置一个标志位并让它显示,如果没有的话就不设置,

如果大于0代表有图片的数据,就调用该方法

 

 

否则的话调用该方法给他隐藏状态

好 ,上面就完成了给ImageView添加tag,并且不让他重复显示。

4 0
原创粉丝点击