android - How to use custom listView? -


i trying load list of images array. got images in list. need add text every image in list. can me this? new android.

public class efficientadapter extends baseadapter {     public efficientadapter(context c) {         mcontext = c;     }      public int getcount() {         return mimageids.length;     }      public object getitem(int position) {         return position;     }      public long getitemid(int position) {         return position;     }      public view getview(int position, view convertview, viewgroup parent) {         imageview = new imageview(mcontext);         i.setimageresource(mimageids[position]);         i.setscaletype(imageview.scaletype.fit_end);         i.setlayoutparams(new listview.layoutparams(60, 60));         return i;     }      private context mcontext;     private integer[] mimageids = { r.drawable.video3, r.drawable.video5, r.drawable.music2, }; } 

this code have loaded list of images array. please me code.

you like

public view getview(int position, view convertview, viewgroup parent)  {     // create linear layout hold other views     linearlayout oitemviewlayout = new linearlayout(mcontext);      // imageview     imageview = new imageview(mcontext);     i.setimageresource(mimageids[position]);     i.setscaletype(imageview.scaletype.fit_end);     i.setlayoutparams(new listview.layoutparams(60,60));      // add imageview item view layout     oitemviewlayout.addview(i);      // textview     textview lbltextview = new textview(mcontext);     lbltextview.settext(mimagenames[position]);      // add imageview item view layout     oitemviewlayout.addview(lbltextview);      return oitemviewlayout; } 

where have defined array of strings hold names of images, perhaps like

private string[] mimagenames = {"title of video3", "video5", "music2",}; 

it easier if create layout listitem , load create view instead

create layout called "mylistview.xml"

<?xml version="1.0" encoding="utf-8"?> <linearlayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"      android:layout_height="wrap_content"     android:orientation="vertical" >             <imageview                  android:id="@+id/itemview_imgimage"                  android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 />             <textview                  android:id="@+id/itemview_lbltext"                  android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 /> </linearlayout> 

you make getview() method this

public view getview(int position, view convertview, viewgroup parent)  {     // create new view or recycle 1 if available     view oitemviewlayout;     if (convertview == null)     {         // new view needs created         oitemviewlayout = (view)layoutinflater.from(mcontext).inflate(r.layout.mylistview, parent, false);     }     else     {         // recycle existing view         oitemviewlayout = (view)convertview;     }      // imageview     imageview = (imageview)oitemviewlayout.findviewbyid(r.id.itemview_imgimage);     i.setimageresource(mimageids[position]);      // textview     textview lbltextview = (textview)oitemviewlayout.findviewbyid(r.id.iitemview_lbltext);     lbltextview.settext(mimagenames[position]);      return oitemviewlayout; } 

that not make life easier allowing design view in xml more efficient because re recycling views have gone off screen still in memory because grabbing convertview instance when there one.


Comments

Popular posts from this blog

Add email recipient to all new Trac tickets -

400 Bad Request on Apache/PHP AddHandler wrapper -

php - Change action and image src url's with jQuery -