Advertisement
Guest User

Multi_checkboxes

a guest
Nov 28th, 2011
674
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.64 KB | None | 0 0
  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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement