Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Multi_checkboxes

By: a guest on Nov 28th, 2011  |  syntax: Java  |  size: 2.64 KB  |  views: 158  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. In activity called  AttendanceActivity.class,
  2.  
  3. public static int check_all_status = -1;
  4.  
  5. //methos called in onCreate()
  6.         private void onClickSetAllAttendance() {
  7.                 selectAll.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  8.  
  9.                         @Override
  10.                         public void onCheckedChanged(CompoundButton buttonView,
  11.                                         boolean isChecked) {
  12.                                 if (selectAll.isChecked()) {
  13.                                         check_all_status = 1;
  14.                                         listAdapter.notifyDataSetChanged();
  15.                                 } else {
  16.                                         check_all_status = 0;
  17.                                         listAdapter.notifyDataSetChanged();
  18.                                 }
  19.                         }
  20.                 });
  21.  
  22.         }
  23.  
  24.  
  25.  
  26. And my  adapter class is bellow,
  27.  
  28. public class InteractiveArrayAdapter extends ArrayAdapter<Model> {
  29.  
  30.         private final List<Model> list;
  31.         private final Activity context;
  32.  
  33.         public InteractiveArrayAdapter(Activity context, List<Model> list) {
  34.                 super(context, R.layout.list_items_attendance_payment, list);
  35.                 this.context = context;
  36.                 this.list = list;
  37.         }
  38.  
  39.         static class ViewHolder {
  40.                 protected TextView text;
  41.                 protected CheckBox checkbox;
  42.  
  43.         }
  44.  
  45.         @Override
  46.         public View getView(final int position, View convertView, ViewGroup parent) {
  47.                 View view = null;
  48.                 if (convertView == null) {
  49.                         LayoutInflater inflator = context.getLayoutInflater();
  50.                         view = inflator.inflate(R.layout.list_items_attendance_payment, null);
  51.                         final ViewHolder viewHolder = new ViewHolder();
  52.                         viewHolder.text = (TextView) view.findViewById(R.id.name);
  53.                         viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
  54.                         viewHolder.checkbox
  55.                                         .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  56.  
  57.                                                 @Override
  58.                                                 public void onCheckedChanged(CompoundButton buttonView,
  59.                                                                 boolean isChecked) {
  60.                                                         AttendanceActivity.listMember.get(position).setSelected(isChecked);
  61.                                                         Model element = (Model) viewHolder.checkbox
  62.                                                                         .getTag();
  63.                                                         element.setSelected(buttonView.isChecked());
  64.                                                 }
  65.                                         });
  66.                         view.setTag(viewHolder);
  67.                         viewHolder.checkbox.setTag(list.get(position));
  68.                 } else {
  69.                         view = convertView;
  70.                         ((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
  71.                 }
  72.                 ViewHolder holder = (ViewHolder) view.getTag();
  73.                 holder.text.setText(list.get(position).getName());
  74.  
  75.                 if (AttendanceActivity.check_all_status==1) {
  76.                         holder.checkbox.setChecked(true);
  77.                 }
  78.                 else if(AttendanceActivity.check_all_status==0){
  79.                         holder.checkbox.setChecked(false);
  80.                        
  81.                 }
  82.                 else if(holder.checkbox.isChecked())
  83.                 {
  84.                         AttendanceActivity.check_all_status= 1;
  85.                 }
  86.                 else if(!holder.checkbox.isChecked())
  87.                 {
  88.                         AttendanceActivity.check_all_status= 0;
  89.                 }
  90.                 else{
  91.                         holder.checkbox.setChecked(list.get(position).isSelected());
  92.                 }
  93.  
  94.                 return view;
  95.         }
  96. }
  97.