我正在制作一个应用程序并在复选框选择中遇到问题

时间:2015-07-15 12:59:00

标签: android

每当我取消选中任何一个复选框按钮,然后最后一个也被取消选中,所以我很难理解什么是主要问题。我认为 它正在被回收。

strcpy(st1, entity);
st1[strlen(entity)-1] = '\0';

2 个答案:

答案 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状态。快乐的编码。