How to set List with unchecked checkboxes in android? -


i using custom list adapter show list checkbox, text , date this.

[checkbox] - [textview] - [date]

i populating list database want is, if check 1 list item got completed , fade out listview status in database should true using update set query don't want delete database. how set list items not checked.

my custom adapter:

 public class customadapter extends arrayadapter<task> {      private list<task> dataitem;     private activity activity;  public customadapter(activity a, int textviewresourceid, list<task> items) {     super(a, textviewresourceid, items);     this.dataitem = items;     this.activity = a; }  public static class viewholder{     public textview tasklisttitle;     public textview createddate;     public checkbox completedflag; }     @override public view getview(int position, view convertview, viewgroup parent) {     view v = convertview;     viewholder holder;     if (v == null) {         layoutinflater vi =             (layoutinflater)activity.getsystemservice(context.layout_inflater_service);         v = vi.inflate(r.layout.tasklist_row, null);         holder = new viewholder();         holder.tasklisttitle = (textview) v.findviewbyid(r.id.tasklisttitle);         holder.createddate = (textview) v.findviewbyid(r.id.createddate);         holder.completedflag = (checkbox) v.findviewbyid(r.id.completedflag);         v.settag(holder);     }     else         holder=(viewholder)v.gettag();      final task custom = dataitem.get(position);     if (custom != null) {         holder.tasklisttitle.settext(custom.gettasklisttitle());         holder.createddate.settext(custom.gettasklistcreated());         holder.completedflag.settext(custom.gettasklistcompletedflag());     }     return v; }    public synchronized void refresadapter(list<task> dataitems) {     dataitem.clear();     dataitem.addall(dataitems);     notifydatasetchanged();    } } 

is there need use oncheckedchecngelistner in class? have been through couple of examples no use. please help.

  1. declare int mstorecheckedposition = -1; // save current checked position
  2. you settag checkbox on every item position (on getview() function, holder.completedflag.settag(position))
  3. you use oncheckedchecngelistner determine checkbox checked: if(checked == true). , follow guide:

    if(mstorecheckedposition != -1){       // updateview       int oldcheckedposition = mstorecheckedposition - listview.getfirstvisibleposition();       view child = listview.getchildat(oldcheckedposition); // holder , setchecked checked false      if(child!=null){          ((viewholder)child.gettag()).completedflag.setchecked(false);      }  } // update database int currentcheckedposition = (integer)view.gettag(); // update database currentcheckedposition true value , mstorecheckedposition false value // update mstorecheckedposition mstorecheckedposition = currentcheckedposition; 

and suggest in list adapter return databaseid getitemid, , use update database


Comments