android - Button in a customized listView is not working properly? -
in application i'm using customized listview text view , button change button image. after click button in 1st position, image of button changed when scroll down listview, image set changed other position.
public class customlistviewadapter_ringtone extends baseadapter { arraylist<hashmap<string, string>> list; activity activity; public customlistviewadapter_ringtone(activity activity,arraylist<hashmap<string, string>> list) { super(); this.activity = activity; this.list = list; } @override public int getcount() { // todo auto-generated method stub return list.size(); } @override public object getitem(int position) { // todo auto-generated method stub return list.get(position); } @override public long getitemid(int position) { // todo auto-generated method stub return position; } class viewholder { button play; textview tarck_name,singer; } @override public view getview(final int position, view convertview, viewgroup parent) { // todo auto-generated method stub final viewholder holder; layoutinflater inflater = activity.getlayoutinflater(); if (convertview == null) { convertview = inflater.inflate(r.layout.test, null); holder = new viewholder(); holder.tarck_name = (textview)convertview.findviewbyid(r.id.track_name); holder.singer = (textview)convertview.findviewbyid(r.id.singer); holder.play = (button)convertview.findviewbyid(r.id.play_pause_btn); convertview.settag(holder); } else { holder = (viewholder) convertview.gettag(); } hashmap<string, string> map = list.get(position); holder.tarck_name.settext(map.get("track_name")); holder.singer.settext(map.get("sing")); holder.play.settag(position); holder.play.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub holder.play.setbackgroundresource(r.drawable.pausebtn); //here set background button when scroll down image changed other positon } }); return convertview; } }
try help:
@override public view getview(final int position, view convertview, viewgroup parent) { final viewholder holder; layoutinflater inflater = activity.getlayoutinflater(); convertview = inflater.inflate(r.layout.test, null); holder = new viewholder(); holder.tarck_name = (textview)convertview.findviewbyid(r.id.track_name); holder.singer = (textview)convertview.findviewbyid(r.id.singer); holder.play = (button)convertview.findviewbyid(r.id.play_pause_btn); convertview.settag(holder);
Comments
Post a Comment