2017-01-12 15 views
0

私は頭を掘り下げて多くの投稿を精査してきましたが、Expandable ListView/Checkboxの問題の恐れのある状態への答えを見つけることはできません。私は状態を保存するためにこれを得ることができません。リストビューでは、それに応じて位置を追加したり削除したりするListArrayを作成しました。私は、これを回避する方法はまったく同じことを行うためのHashMapを作成することだと思っていましたが、うまくいきません。Expandable ListView/Checkbox Woes

誰でもこの作業の例があり、チェックボックスの状態が保存されていますか?

は、ここでは、リストビューで働いているが、私は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); 
} 

答えて