android - ListView bug and acting different each phone -


the problem having quite unusual. using custon arrayadapter class listview. list items fit screen area appears normal while items require scrolling appeared, either in wrong order or repetition of items in top of list. moreover, scrolling , down, order of items changes.

although when debug glitching items clicking them data correct.

tasklist.setonitemclicklistener(new onitemclicklistener() {             @override             public void onitemclick(adapterview<?> adapter, view view, int position, long arg3) {                 taskentity temp = (taskentity) adapter.getitematposition(position);                  toast.maketext(screenmain.this, "test : " + temp.tostring(),toast.length_long).show();             }         }); 

this error happening in htc wildfire platform 2.3.5 api level 10 phone.

but when test app on samsung galaxy s3 4.1.2 platform api level 16 phone , fine.

why getting error? custom adapter problem?

public class mytasklistadapter extends arrayadapter<taskentity> {      private final list<taskentity> list;     private final activity context;      public mytasklistadapter(activity context, list<taskentity> objects) {         super(context, r.layout.row_task_layout, objects);          this.context = context;         this.list = objects;     }      static class viewholder {         protected textview label;         protected textview count;         protected imageview icon;     }      @override     public view getview(int position, view convertview, viewgroup parent) {         view view = null;         if (convertview == null) {             layoutinflater inflator = context.getlayoutinflater();             view = inflator.inflate(r.layout.row_task_layout, null);             final viewholder viewholder = new viewholder();             viewholder.label = (textview) view.findviewbyid(r.id.label);             viewholder.count = (textview) view.findviewbyid(r.id.count);             viewholder.icon = (imageview) view.findviewbyid(r.id.icon);              view.settag(viewholder);              viewholder holder = (viewholder) view.gettag();             holder.label.settext(list.get(position).title);              if(integer.parseint(list.get(position).tbl_durum)==1)             {                 holder.icon.setimageresource(r.drawable.check_icon);             }             if(integer.parseint(list.get(position).child_count)==0)             {                 holder.count.setvisibility(view.gone);             }             else             {                 holder.count.settext(list.get(position).child_count);             }         } else {             view = convertview;         }         return view;     } } 

try this:

@override public view getview(int position, view convertview, viewgroup parent) {     view view = null;     layoutinflater inflator = context.getlayoutinflater();     view = inflator.inflate(r.layout.row_task_layout, null);     final viewholder viewholder = new viewholder();     viewholder.label = (textview) view.findviewbyid(r.id.label);     viewholder.count = (textview) view.findviewbyid(r.id.count);     viewholder.icon = (imageview) view.findviewbyid(r.id.icon);      view.settag(viewholder);      viewholder holder = (viewholder) view.gettag();     holder.label.settext(list.get(position).title);      if(integer.parseint(list.get(position).tbl_durum)==1)     {          holder.icon.setimageresource(r.drawable.check_icon);     }     if(integer.parseint(list.get(position).child_count)==0)     {          holder.count.setvisibility(view.gone);     }     else     {         holder.count.settext(list.get(position).child_count);     }      return view; } 

}

basically pass on using convertview. causes lot of problems. , if there not many object in list, not matter.


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -