android listview复用原理,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();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值