2.android 关于listView的复用问题

导读:本篇文章讲解 2.android 关于listView的复用问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

 关于listView的复用问题,复用出错,重复出现,这个问题是listView的复用机制导致的,为了节省资源
解决办法是:
1.通过在bean类里设置一个标记 如:
 private boolean isSelect;

        public boolean isSelect() {
            return isSelect;
        }

        public void setSelect(boolean select) {
            isSelect = select;
        }

默认为false 就是未选中状态,并设置get set方法

2.然后在listview适配器里判断这个标记 如:
 //解决复用的  如果当前标记为选中状态那么执行操作
        if (mlist.get(position).isSelect()){
            holder.mListViewText.setTextColor(Color.RED);
        }
        //如果不是选中状态 执行操作
        else {
            holder.mListViewText.setTextColor(Color.BLACK);
        }
在点击事件里的处理 如:
 //一进点击事件默认把所有item的isSelect设为false 表示都没选中
                for (int i = 0; i <resultList.size() ; i++) {
                    yuedoubaen.ResultListBean resultListBean = resultList.get(i);
                    resultListBean.setSelect(false);
                }
                 //这是为了重复点击使用 比如点一次颜色红了  再点一次颜色黑了  如此循环
                //然后点击那个  把那个设为和当前相反的状态 比如当前为false设为true 当前为true设为false
                //resultList.get(position).setSelect(!resultList.get(position).isSelect());

                //点哪个那个为true 表示选中
                resultList.get(position).setSelect(true);
                //在刷新一下适配器就ok
                apader.notifyDataSetChanged();
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/118391.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!