android - how to display position based image for following code? -


i have following code. when click on image in grid view particular image should display in activity. how can that?

this activity class::

public class productsactivity extends activity { protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.grid_view);      gridview gridview = (gridview) findviewbyid(r.id.gridview);     gridview.setadapter(new myadapter(this));     gridview.setonitemclicklistener(new adapterview.onitemclicklistener()     {         public void onitemclick(adapterview<?> parent, view v, int position, long id)         {             // 'mactivity' parameter activity object, can send current activity.             intent = new intent(getapplicationcontext(), mobiledisplayactivity.class);             i.putextra("positionid",position);             startactivity(i);         }     }); } 

how can change adapter class achieve requirement. ithink problem in getview().

this adapter class:     private class myadapter extends baseadapter {     private list<item> items = new arraylist<item>();     private layoutinflater inflater;      public myadapter(context context)     {         inflater = layoutinflater.from(context);          items.add(new item("image 1", r.drawable.ic_image4));         items.add(new item("image 2", r.drawable.ic_image5));         items.add(new item("image 3", r.drawable.ic_image4));         items.add(new item("image 4", r.drawable.ic_image5));         items.add(new item("image 5", r.drawable.ic_image4));     }      @override     public int getcount() {         return items.size();     }      @override     public object getitem(int i)     {         return items.get(i);     }      @override     public long getitemid(int i)     {         return items.get(i).drawableid;     }      @override     public view getview(int i, view view, viewgroup viewgroup)     {         view v = view;         imageview picture;         textview name;          if(v == null)         {             v = inflater.inflate(r.layout.row_grid, viewgroup, false);             v.settag(r.id.picture, v.findviewbyid(r.id.picture));             v.settag(r.id.text, v.findviewbyid(r.id.text));         }          picture = (imageview)v.gettag(r.id.picture);         name = (textview)v.gettag(r.id.text);          item item = (item)getitem(i);          picture.setimageresource(item.drawableid);         name.settext(item.name);          return v;     }      private class item     {         final string name;         final int drawableid;          item(string name, int drawableid)         {             this.name = name;             this.drawableid = drawableid;         }     } } 

}

rather sending position of item next activity, send id or drawables (which integer).

do way

public void onitemclick(adapterview<?> parent, view v, int position, long id) {     // 'mactivity' parameter activity object, can send current activity.     int imageid = ((item) parent.getitematposition(position)).drawableid;     intent = new intent(getapplicationcontext(), mobiledisplayactivity.class);     i.putextra("imageid", imageid);     startactivity(i);  } 

in mobiledisplayactivity activity simple this

int imageid = getintent().getintextra("imageid", 0); if(imageid > 0)     imageview.setbackgroundresource(imageid); else     // went wrong 

note: make item class public static or define independently.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -