假设我们现在给ListView加一个选择的功能
比如点击条目,这个条目就被选中了,变成红色,
再点一下就是取消选择,条目变成白色
如果我们直接这样写,并且用上ViewHolder,
会出现复用的问题
比如选择了第1个,第2个,
向下滑动之后,下面的几个条目也会变成红色
这个就是复用的问题
那么我们可以在javabean里面设置一个boolean属性
比如默认为false,也就是不选中
boolean isSelected=false;
然后我们给设置条目点击事件
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { bean bean = numList.get(position); if (bean.isSelected == true) { bean.isSelected = false; } else { bean.isSelected = true; }
adapter.notifyDataSetChanged();
}
});
很简单就搞定啦