listView中包含checkBox的时候,经常会发生其中的checkBox错乱的问题。
快速解决方案:在getView()里,将viewholder.checkbox.setoncheckedchangelistener() {...}这部分代码,放在在viewholder初始化之后,viewholder.checkbox.setchecked()之前的位置。
比如:
getView(position, contentView, parent) {
ViewHolder viewholder = null;
if (contenView == null) {
//...
viewholder = new ViewHolder();
// ...
contentView.setTag(viewholder);
} else {
viewholder = (ViewHolder) contentView.getTag();
}
viewholder.checkbox.setoncheckedchangelistener(...);
viewholder.checkbox.setchecked(...);
}