保存状态的方式有很多,我推荐使用的一种方式
ListView 中 每个条目你一般都是用一个实体类写数据的
在你的实体类中加一条
public boolean ischecked = false;
然后 适配器中写
final MEntity entity = (MEntity) getItem(position);
holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
entity.ischecked = isChecked;
}
});
holder.checkBox.setChecked(entity.ischecked);
注意holder.checkBox.setChecked(entity.ischecked);一定要放到监听器后面
这里就是把状态保存到了你实体类的对象里面 ,其实开发过项目的应该都明白。