0

I have an expandable list with checkbox consisting of
MyCategory and other othercategory

i want all the checkbox of only mycategory group to be checked by default. can someone help me with the same.

here is my code below

getChildView method of my BaseExpandableListAdapter class

    @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;
}
mehrdad khosravi
  • 2,228
  • 9
  • 29
  • 34
Jeffy Lazar
  • 1,903
  • 13
  • 20

1 Answers1

0

For each checkbock do

checkbox.setChecked(true)
Lorenzo Vincenzi
  • 1,153
  • 1
  • 9
  • 26