Android GridView setItemChecked dynamically -


i have custom gridview. when activity starts, want set checked item dynamically. tried gridview.setitemchecked(5, true); didn't work. how can do?

public class mainactivity extends activity {     gridview gridview;     arraylist<item> gridarray = new arraylist<item>();     customgridviewadapter customgridadapter;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          //set grid view item         bitmap homeicon = bitmapfactory.decoderesource(this.getresources(), r.drawable.home);         bitmap usericon = bitmapfactory.decoderesource(this.getresources(), r.drawable.personal);          gridarray.add(new item(homeicon,"home"));         gridarray.add(new item(usericon,"user"));         gridarray.add(new item(homeicon,"house"));         gridarray.add(new item(usericon,"friend"));         gridarray.add(new item(homeicon,"home"));         gridarray.add(new item(usericon,"personal"));         gridarray.add(new item(homeicon,"home"));         gridarray.add(new item(usericon,"user"));         gridarray.add(new item(homeicon,"building"));         gridarray.add(new item(usericon,"user"));         gridarray.add(new item(homeicon,"home"));         gridarray.add(new item(usericon,"xyz"));           gridview = (gridview) findviewbyid(r.id.gridview1);         customgridadapter = new customgridviewadapter(this, r.layout.row_grid, gridarray);         gridview.setadapter(customgridadapter);         gridview.setitemchecked(5, true);     } 

adapter

public class customgridviewadapter extends arrayadapter<item> {     context context;     int layoutresourceid;     arraylist<item> data = new arraylist<item>();      public customgridviewadapter(context context, int layoutresourceid,             arraylist<item> data) {         super(context, layoutresourceid, data);         this.layoutresourceid = layoutresourceid;         this.context = context;         this.data = data;     }      @override     public view getview(int position, view convertview, viewgroup parent) {         view row = convertview;         recordholder holder = null;          if (row == null) {             layoutinflater inflater = ((activity) context).getlayoutinflater();             row = inflater.inflate(layoutresourceid, parent, false);              holder = new recordholder();             holder.txttitle = (textview) row.findviewbyid(r.id.item_text);             holder.imageitem = (imageview) row.findviewbyid(r.id.item_image);             row.settag(holder);         } else {             holder = (recordholder) row.gettag();         }          item item = data.get(position);         holder.txttitle.settext(item.gettitle());         holder.imageitem.setimagebitmap(item.getimage());         return row;      }      static class recordholder {         textview txttitle;         imageview imageitem;      } } 

item

public class item {     bitmap image;     string title;      public item(bitmap image, string title) {         super();         this.image = image;         this.title = title;     }     public bitmap getimage() {         return image;     }     public void setimage(bitmap image) {         this.image = image;     }     public string gettitle() {         return title;     }     public void settitle(string title) {         this.title = title;     } }     

gridview

<gridview     android:id="@+id/gridview1"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_margin="4dp"     android:columnwidth="80dp"     android:gravity="center"     android:numcolumns="auto_fit"     android:stretchmode="columnwidth"     android:listselector="@drawable/selector_"     android:choicemode="singlechoice"> </gridview> 

gridview.setitemchecked(5, true); works! if want verify, ask checked item position using below api give correct value (in case 5).

int = gridview.getcheckeditemposition(); 

now, might interested in visual representation of checked item. have in getview(...) textview , imageview, , both implicitly not equipped check/uncheck feature. if plainly use widgets such checkbox implements checkable interface, can see difference!

enter image description here

there nice post here implementation.


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -