2.android 关于listView的复用问题

 关于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                     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();
 

你可能感兴趣的:(android错误,android效果)