android - Loading images in a Listview properly -


i'm using universal image loader library load images in listview, loads images notice if scroll first time can see wrong images being loaded first before correct image.

how can stop effect. here entire class below.

public mylistadapter(context context, list<venuedetails> m_venue_details) {     super(context, r.layout.venue_list_row, m_venue_details);      this.context = context;     this.venue_details = new arraylist<venuedetails>();     this.venue_details = m_venue_details;     df = new decimalformat("#.##"); }  @suppresswarnings("deprecation") @suppresslint("newapi") @override public view getview(int position, view v, viewgroup parent) {      final viewholder holder;     final venuedetails vd =  venue_details.get(position);         if (inflater == null) {         inflater = (layoutinflater) context                 .getsystemservice(context.layout_inflater_service);     }      if (v == null) {         v = inflater.inflate(r.layout.venue_list_row, parent,false);         holder = new viewholder();         holder.venue_name = (textview) v.findviewbyid(r.id.venue_name);         holder.venue_dist = (textview) v.findviewbyid(r.id.venue_dist);         holder.curr_loc = (textview) v.findviewbyid(r.id.curr_loc);         holder.ll = (framelayout) v.findviewbyid(r.id.venue_frame);         holder.pett_btn = (button) v.findviewbyid(r.id.venue_pett);         holder.img = (imageview) v.findviewbyid(r.id.venue_logo);          v.settag(holder);      }else{         holder = (viewholder) v.gettag();     }      holder.img.settag(vd.logo);      if(vd.list_img == null){         myappobj.getimageloader().loadimage(holder.img.gettag().tostring(), new imageloadinglistener() {              @override             public void onloadingstarted(string imageuri, view view) {                 holder.img.setbackgroundresource(r.drawable.placeholder_venue);             }              @override             public void onloadingfailed(string imageuri, view view,                     failreason failreason) {                     holder.img.setbackgroundresource(r.drawable.placeholder_pin);                                }              @override             public void onloadingcomplete(string imageuri, view view, bitmap loadedimage) {                 holder.img.setbackgrounddrawable(new bitmapdrawable(loadedimage));                 if(vd.list_img == null){                     vd.list_img = new bitmapdrawable(loadedimage);                 }             }              @override             public void onloadingcancelled(string imageuri, view view) {                 holder.img.setbackgroundresource(r.drawable.placeholder_venue);             }         });     }else{         holder.img.setbackgrounddrawable(vd.list_img);     }      if(vd != null){                   holder.venue_name.settext(vd.venuename.touppercase());         venue_details.get(position).venue_distance = double.parsedouble(df.format(utils.distance(myappobj.getmylatitude(), myappobj.getmylongitude(), vd.latitude, vd.longitude, 'k') * 0.000621371192));         holder.venue_dist.settext(df.format(vd.venue_distance)+" miles");           holder.venue_curr_loc.settext(my_address.touppercase());          if (vd.petted == 1) {              holder.pett_btn.setvisibility(view.visible);             holder.ll.setvisibility(view.visible);              holder.pett_btn.setonclicklistener(new onclicklistener() {                 @override                                public void onclick(view v) {                                        if(dialog_callback!=null)                         dialog_callback.ondialogcalled(0, vd.id);                 }             });          } else {              holder.pett_btn.setvisibility(view.gone);             holder.ll.setvisibility(view.gone);         }                }      return v; }  @override public boolean isenabled(int position) {     if (venue_details.get(position).petted == 1) {         return false;     } else {         return true;     } }  static class viewholder{     textview venue_name;     textview venue_dist;     textview venue_curr_loc;     framelayout ll;     button pett_btn;     imageview img; } 

the best solution use picasso easy use , better performace


Comments

Popular posts from this blog

c++ - Linked List error when inserting for the last time -

java - activate/deactivate sonar maven plugin by profile? -

java - What is the difference between String. and String.this. ? -