In activity called AttendanceActivity.class, public static int check_all_status = -1; //methos called in onCreate() private void onClickSetAllAttendance() { selectAll.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (selectAll.isChecked()) { check_all_status = 1; listAdapter.notifyDataSetChanged(); } else { check_all_status = 0; listAdapter.notifyDataSetChanged(); } } }); } And my adapter class is bellow, public class InteractiveArrayAdapter extends ArrayAdapter { private final List list; private final Activity context; public InteractiveArrayAdapter(Activity context, List list) { super(context, R.layout.list_items_attendance_payment, list); this.context = context; this.list = list; } static class ViewHolder { protected TextView text; protected CheckBox checkbox; } @Override public View getView(final int position, View convertView, ViewGroup parent) { View view = null; if (convertView == null) { LayoutInflater inflator = context.getLayoutInflater(); view = inflator.inflate(R.layout.list_items_attendance_payment, null); final ViewHolder viewHolder = new ViewHolder(); viewHolder.text = (TextView) view.findViewById(R.id.name); viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check); viewHolder.checkbox .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { AttendanceActivity.listMember.get(position).setSelected(isChecked); Model element = (Model) viewHolder.checkbox .getTag(); element.setSelected(buttonView.isChecked()); } }); view.setTag(viewHolder); viewHolder.checkbox.setTag(list.get(position)); } else { view = convertView; ((ViewHolder) view.getTag()).checkbox.setTag(list.get(position)); } ViewHolder holder = (ViewHolder) view.getTag(); holder.text.setText(list.get(position).getName()); if (AttendanceActivity.check_all_status==1) { holder.checkbox.setChecked(true); } else if(AttendanceActivity.check_all_status==0){ holder.checkbox.setChecked(false); } else if(holder.checkbox.isChecked()) { AttendanceActivity.check_all_status= 1; } else if(!holder.checkbox.isChecked()) { AttendanceActivity.check_all_status= 0; } else{ holder.checkbox.setChecked(list.get(position).isSelected()); } return view; } }