2015-11-06 85 views
0

我有一個擴展列表與checkbox包括
MyCategoryothercategory默認一組可擴展列表的

在選定的所有複選框,我想所有的只是mycategorycheckbox在默認情況下進行檢查。 有人可以幫助我一樣。

這裏是低於

getChildViewBaseExpandableListAdapter

@Override 
public View getChildView(final int groupPosition, final int childPosition, 
     boolean isLastChild, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = activity.getLayoutInflater(); 
    ViewHolder holder=null; 

    final int mGroupPosition = groupPosition; 
    final int mChildPosition = childPosition; 

    if (convertView == null) { 
     convertView = inflater.inflate(R.layout.category_list_row, null); 
     holder= new ViewHolder(); 
     holder.mCheckBox=(CheckBox)convertView.findViewById(R.id.category_Login); 
     convertView.setTag(holder); 
    } 
    else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    /* 
    * You have to set the onCheckChangedListener to null 
    * before restoring check states because each call to 
    * "setChecked" is accompanied by a call to the 
    * onCheckChangedListener 
    */ 
    holder.mCheckBox.setOnCheckedChangeListener(null); 

    if (mChildCheckStates.containsKey(mGroupPosition)) { 
     /* 
     * if the hashmap mChildCheckStates<Integer, Boolean[]> contains 
     * the value of the parent view (group) of this child (aka, the key), 
     * then retrive the boolean array getChecked[] 
     */ 
     boolean getChecked[] = mChildCheckStates.get(mGroupPosition); 

     // set the check state of this position's checkbox based on the 
     // boolean value of getChecked[position] 
     holder.mCheckBox.setChecked(getChecked[mChildPosition]); 

    } else { 

     /* 
     * if the hashmap mChildCheckStates<Integer, Boolean[]> does not 
     * contain the value of the parent view (group) of this child (aka, the key), 
     * (aka, the key), then initialize getChecked[] as a new boolean array 
     * and set it's size to the total number of children associated with 
     * the parent group 
     */ 
     boolean getChecked[] = new boolean[getChildrenCount(mGroupPosition)]; 

     // add getChecked[] to the mChildCheckStates hashmap using mGroupPosition as the key 
     mChildCheckStates.put(mGroupPosition, getChecked); 

     // set the check state of this position's checkbox based on the 
     // boolean value of getChecked[position] 
     holder.mCheckBox.setChecked(false); 
    } 

    holder.mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 

      if (isChecked) { 

       boolean getChecked[] = mChildCheckStates.get(mGroupPosition); 
       getChecked[mChildPosition] = isChecked; 
       mChildCheckStates.put(mGroupPosition, getChecked); 
      } else { 

       boolean getChecked[] = mChildCheckStates.get(mGroupPosition); 
       getChecked[mChildPosition] = isChecked; 
       mChildCheckStates.put(mGroupPosition, getChecked); 
      } 
     } 
    }); 

    return convertView; 
} 
+0

http://stackoverflow.com/questions/5068668/android- expandablelistview-with-checkbox-controlling-checked-state –

回答

0

的方法,我的代碼對於每個checkbock做

checkbox.setChecked(true) 
+0

你最好解釋爲什麼你的答案解決了他的問題,謝謝:) –