Android editTextValue duplicate in ListView -
i still unsolved problem.
there edittext in listview , textview. when scrolling listview edittext duplicate values are output.
found cause getview () problem in listview recycle item has been found
stack overflow , headaches in person me, tried post.
i see , respond
however, not solve problem.
in addition, in response inflater.inflate (r.layout.listview_item, parent, null) method non-existent
detailed answer problem, please me ask
thank you.
-my android source-
public class listviewadpter extends baseadapter {
context context; arraylist<listitemvo> itemlist; list<string> editlist; static class viewholder { public textview text; public edittext edittext; } public listviewadpter(context context, arraylist<listitemvo> arr) { this.context = context; this.itemlist = arr; } @override public int getcount() { // todo auto-generated method stub return itemlist.size(); } @override public object getitem(int position) { // todo auto-generated method stub return itemlist.get(position); } @override public long getitemid(int position) { // todo auto-generated method stub return position; } @override public view getview(final int position, view convertview, viewgroup parent) { view rowview = convertview; if (convertview == null) { layoutinflater inflater = (layoutinflater) context.getsystemservice(context.layout_inflater_service); rowview = inflater.inflate(r.layout.listview_item, parent, false); viewholder viewholder = new viewholder(); viewholder.text = (textview) rowview.findviewbyid(r.id.textview111); viewholder.edittext = (edittext) rowview.findviewbyid(r.id.edittext111); rowview.settag(viewholder); } viewholder holder = (viewholder) rowview.gettag(); holder.text.settext(itemlist.get(position).getname()); return rowview; }
}
where if
statement ends, put else
statement , inside write
viewholder = (viewholder) rowview.gettag();
also declare variable of viewholder class outside of if-else
, this
view rowview = convertview; viewholder viewholder; if (convertview == null) { layoutinflater inflater = (layoutinflater) context.getsystemservice(context.layout_inflater_service); rowview = inflater.inflate(r.layout.listview_item, parent, false); viewholder = new viewholder(); viewholder.text = (textview) rowview.findviewbyid(r.id.textview111); viewholder.edittext = (edittext) rowview.findviewbyid(r.id.edittext111); rowview.settag(viewholder); }else{ viewholder = (viewholder) rowview.gettag(); } holder.text.settext(itemlist.get(position).getname()); return rowview;
Comments
Post a Comment