可扩展的ListView / Checkbox问题

时间:2017-01-12 20:39:58

标签: android checkbox expandablelistview

我一直在绞尽脑汁并搜索许多帖子,但似乎无法找到可扩展ListView / Checkbox问题的可怕状态的答案。我无法得到这个来拯救国家。使用ListView,我创建了一个ListArray,它可以相应地添加和删除位置。我认为解决这个问题的方法是创建一个完全相同的HashMap,但它不起作用。

有没有人有这个工作的例子,并且保存了复选框的状态?

这是在ListView中工作,但我需要类似于HashMap的东西 -

private ListArray<Integer> checkedState = new ListArray<Integer>();

holder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    checkedState.add(childPosition);
                    holder.checkbox.setSelected(true);
                    //Toast.makeText(_context,holder.txtListChild.getText() + " Selected",Toast.LENGTH_SHORT).show();
                }
                else{
                    holder.checkbox.setSelected(false);
                    checkedState.remove(childPosition).
                    //Toast.makeText(_context,holder.txtListChild.getText() + " UnSelected",Toast.LENGTH_SHORT).show();
                }
            }
        });

if(checkedState.contains((Integer)childposition) {
    holder.checkbox.setChecked(true);
} else {
    holder.checkbox.setChecked(false);
}

1 个答案:

答案 0 :(得分:0)

我最终没有使用setOnCheckedChangeListener并使用onClick,效果很好。

答案可以在这里找到 - Expandable listview with selectall checkbox : group itemclick and scrolling bug