Thursday, 15 April 2010

android - ListView item button Disable -



android - ListView item button Disable -

i have 1 custom baseadapter listview. have buttons on each listview item. need disable button onclick of them. when i'm clicking on 1 of buttons, multiple buttons disabling on list. i'm attaching code .

@override public view getview(int arg0, view convertview, viewgroup arg2) { // todo auto-generated method stub final int k = arg0; if (convertview == null) { layoutinflater inflater = (layoutinflater) context .getsystemservice(context.layout_inflater_service); convertview = inflater.inflate(r.layout.list_view_element, null); } textview name = (textview)convertview.findviewbyid(r.id.textview1); name.settext(arraylist.get(arg0).getname()); textview phone = (textview)convertview.findviewbyid(r.id.textview2); phone.settext(arraylist.get(arg0).getphonenum()); button request = (button)convertview.findviewbyid(r.id.button1); request.setonclicklistener(new onclicklistener() { @override public void onclick(view arg0) { // todo update local database of request table databasehelper.insertrequesttable(new person(arraylist.get(k).getname(), arraylist.get(k).getphonenum())); ((button)arg0).setenabled(false); } }); homecoming convertview; }

please help.

button request = (button)convertview.findviewbyid(r.id.button1); // refers button in list view // viewholder holds reference of bojects public static class viewholder { textview name; textview phone; button request; } @override public view getview(int arg0, view convertview, viewgroup arg2) { // todo auto-generated method stub final int k = arg0; if (convertview == null || convertview.gettag() == null) { layoutinflater inflater = (layoutinflater) context.getsystemservice(context.layout_inflater_service); convertview = inflater.inflate(r.layout.list_view_element, null); holder = new viewholder(); // save references in holder holder.name = (textview)convertview.findviewbyid(r.id.textview1); holder.phone = (textview)convertview.findviewbyid(r.id.textview2); holder.request = (button)convertview.findviewbyid(r.id.button1); // save references view can set thing convertview.settag(holder); } else { // reference holder = (viewholder) convertview.gettag(); } holder.name.settext(arraylist.get(arg0).getname()); holder.phone.settext(arraylist.get(arg0).getphonenum()); // refer button want not holder.request.setonclicklistener(new onclicklistener() { @override public void onclick(view arg0) { // todo update local database of request table databasehelper.insertrequesttable(new person(arraylist.get(k).getname(), arraylist.get(k).getphonenum())); ((button)arg0).setenabled(false); } }); homecoming convertview; }

github project: https://github.com/rathodvikas10/android-examples/tree/master/listview

android listview android-listview

No comments:

Post a Comment