android - ListView setOnItemClickListener not working by adding button -



android - ListView setOnItemClickListener not working by adding button -

i have list view text , button in each row, list view setonitemclicklistener() not working. possible handle item click , button click events differently(item click should phone call activitya , button click should phone call activityb). have solution

private arraylist<string> useridarr = null; private arraylist<string> usernamearr = null; private databasehelper dbhelper = null; private listview userlistview=null; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.list_view); dbhelper = new databasehelper(this.getapplicationcontext()); map<string,arraylist<string>> displaymap = dbhelper.getuserlisttodisplay(); useridarr = displaymap.get("userid"); usernamearr = displaymap.get("firstname1"); userlistview = (listview) findviewbyid(r.id.listview2); userlistview.setadapter(new userlistadapter(this,useridarr)); userlistview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> arg0, view arg1, int position, long arg3) { toast.maketext(userslistactivity.this, "item in position " + position + " clicked", toast.length_long).show(); } }); } public class userlistadapter extends arrayadapter<string> { activity context; public userlistadapter(activity context, arraylist<string> names) { super(context, r.layout.list_item, names); this.context = context; } private class viewholder { public textview usernameandid; public textview description; public button uploadbtn; } @override public view getview(int position, view convertview, viewgroup parent) { viewholder holder; view rowview = convertview; if (rowview == null) { layoutinflater inflater = context.getlayoutinflater(); rowview = inflater.inflate(r.layout.list_item, null, true); holder = new viewholder(); holder.usernameandid = (textview) rowview.findviewbyid(r.id.user_detailstxt); holder.description = (textview) rowview.findviewbyid(r.id.user_status); holder.uploadbtn = (button) rowview.findviewbyid(r.id.uploadbutton); holder.uploadbtn.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { toast.maketext(userslistactivity.this," button clicked",toast.length_short).show(); } }); rowview.settag(holder); } else { holder = (viewholder) rowview.gettag(); } string s = usernamearr.get(position)+","+useridarr.get(position); holder.usernameandid.settext(s); holder.description.settext("u r in middle"); homecoming rowview; } } }`

try seting buttons(or other views want handle click within list item) this:

android:focusable="false" android:focusableintouchmode="false"

i didn't test this, please allow me know if works.

android listview

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

intellij idea - Update external libraries with intelij and java -

javascript - send data from a new window to previous window in php -