Skip to content Skip to sidebar Skip to footer

Fetching Checkbox State In A Gridview Item For All Checkbox In Gridview On Button Click

I have the code below, now I need to keep track of the checkbox state in each gridview item, and fetch that info on a button click to update the information. My button event in the

Solution 1:

Deal with integer array to store the state of your checkboxes when it checked/unchecked, Initially fill the array with 0 values which indicate unchecked of your checkboxes like this.

int[] checkStates;
 checkStates = newint[datalist.length()];
   for (int i = 0; i < datalist.length(); i++) {
        checkStates[i] = 0;
   }

Now handle checkboxes click event to get perfect position. use settag & get gettag and inside click event when box get selected change the value of particular position to 1 from 0.

Like this#

  checkbox.setTag(position);



    checkbox.setOnCheckedChangeListener(newOnCheckedChangeListener() {

        publicvoidonCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            pos = (Integer) buttonView.getTag();
            // checkStates[pos] = 1;// pos = (Integer) v.getTag();if (!buttonView.isChecked()) {
                boxState[pos] = 0;
            } else {
                boxState[pos] = 1;
            }
            notifyDataSetChanged();
        }
    });

and inside getview method handle your check/uncheck state this way..

if (checkStates[position] == 0) {
            checkbox.setChecked(false); // set unchecked"
        } else {
            checkbox.setChecked(true); // set checked"
        }

This way you will get the info of checkboxes which are selected, further handle your button click event, and get the int array which filled while check and uncheck.

Post a Comment for "Fetching Checkbox State In A Gridview Item For All Checkbox In Gridview On Button Click"