每当我取消选中任何一个复选框按钮,然后最后一个也被取消选中,所以我很难理解什么是主要问题。我认为 它正在被回收。
strcpy(st1, entity);
st1[strlen(entity)-1] = '\0';
答案 0 :(得分:0)
尝试做这样的事情:
顶部尺寸:
private ArrayList<String> checkedNames = new ArrayList<>();
在你的膨胀视图中:
if (checkedNames.contains(holder.chk.getText().toString()))
holder.chk.setChecked(true);
else
holder.chk.setChecked(false);
holder.chk.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
String name = buttonView.getText().toString(); //or declare your checkbox final
if (isChecked)
checkedNames.add(buttonView.getText().toString());
else
checkedNames.remove(buttonView.getText().toString());
}
});
当给列表视图项目充气时,它应该是:
convertView = inflator.inflate(R.layout.row, parent, false);
答案 1 :(得分:0)
将模型类中的CheckBox
状态保存为布尔值。当您更改CheckBox
状态(已选中或未选中)时,还要更改模型类中的布尔值,然后只需调用notifyDataSetChanged()
。这将使适配器知道您已更改CheckBox
状态。快乐的编码。