android - Find out which button was clicked from the Custom ListView -
in application t have custom listview 2 buttons.now want when user clicks on particular button in listview async task called sends few parameters server.the parameters comming arraylist.now how come know button clicked listview , @ particular position same info should sent arraylist.
customadapter.java
public class searchjobscustomlist extends baseadapter implements view.onclicklistener { context c; arraylist<hashmap<string, string>> data; hashmap<string, string> resultp = new hashmap<string, string> (); public searchjobscustomlist(context c, arraylist<hashmap<string, string>> data) { super (); this.c = c; this.data = data; } @override public int getcount() { homecoming data.size (); } @override public object getitem(int i) { homecoming null; } @override public long getitemid(int i) { homecoming 0; } @override public view getview(int i, view view, viewgroup viewgroup) { if (view == null) { view = layoutinflater.from (c).inflate (r.layout.custom_search_jobs_lists, viewgroup, false); resultp = data.get (i); view.settag (resultp); textview jobcode = (textview) view.findviewbyid (r.id.tv_job_code); textview category = (textview) view.findviewbyid (r.id.tv_name); textview expyrs = (textview) view.findviewbyid (r.id.tv_exp_yrs); textview expmnths = (textview) view.findviewbyid (r.id.tv_exp_mnths); textview date = (textview) view.findviewbyid (r.id.tv_date); button bestcandidate = (button) view.findviewbyid (r.id.bt_best_candidates); button appliedjobs = (button) view.findviewbyid (r.id.bt_applied_jobs); bestcandidate.setonclicklistener (this); appliedjobs.setonclicklistener (this); if (resultp.get ("counts").equals (0)) { bestcandidate.setfocusable (false); bestcandidate.settext (0); } else { bestcandidate.settext (resultp.get ("counts")); } if (resultp.get ("applied").equals (0)) { appliedjobs.setfocusable (false); appliedjobs.settext (0); } else { appliedjobs.settext (resultp.get ("applied")); } jobcode.settext (resultp.get ("code")); category.settext (resultp.get ("category")); expyrs.settext (resultp.get ("minexp")); expmnths.settext (resultp.get ("maxexp")); date.settext (resultp.get ("postedon")); } homecoming view; } @override public void onclick(view view) { switch (view.getid ()){ case r.id.bt_best_candidates: bestcandidatedisplay display=new bestcandidatedisplay (); display.execute (); } } public class bestcandidatedisplay extends asynctask<string,string,string>{ @override protected string doinbackground(string... strings) { string response= httprequest.post ("https://beta135.hamarisuraksha.com/web/webservice/hsjobservice.asmx/getbestcandidates").send ("vendor_ientity_code=" + "&ijob_req_id=" + resultp.get ("reqid") + "&ijob_requestor_id=" + resultp.get ("ireqid") + "&mode=" + "ttl").body (); homecoming null; } } }
list image
try way,hope help solve problem. public class searchjobscustomlist extends baseadapter{ context context; arraylist<hashmap<string, string>> data; public searchjobscustomlist(context context, arraylist<hashmap<string, string>> data) { super (); this.context = context; this.data = data; } @override public int getcount() { homecoming data.size (); } @override public object getitem(int i) { homecoming null; } @override public long getitemid(int i) { homecoming 0; } @override public view getview(final int i, view view, viewgroup viewgroup) { viewholder holder; if (view == null) { holder = new viewholder(); view = layoutinflater.from(context).inflate(r.layout.custom_search_jobs_lists, null, false); holder.jobcode = (textview) view.findviewbyid(r.id.tv_job_code); holder.category = (textview) view.findviewbyid(r.id.tv_name); holder.expyrs = (textview) view.findviewbyid(r.id.tv_exp_yrs); holder.expmnths = (textview) view.findviewbyid(r.id.tv_exp_mnths); holder.date = (textview) view.findviewbyid(r.id.tv_date); holder.bestcandidate = (button) view.findviewbyid(r.id.bt_best_candidates); holder.appliedjobs = (button) view.findviewbyid(r.id.bt_applied_jobs); view.settag(holder); }else{ holder = (viewholder) view.gettag(); } if (data.get(i).get("counts").equals("0")) { holder.bestcandidate.setfocusable (false); holder.bestcandidate.settext (0); } else { holder.bestcandidate.settext (data.get(i).get("counts")); } if (data.get(i).get("applied").equals("0")) { holder.appliedjobs.setfocusable (false); holder.appliedjobs.settext (0); } else { holder.appliedjobs.settext (data.get(i).get ("applied")); } holder.jobcode.settext (data.get(i).get("code")); holder.category.settext (data.get(i).get("category")); holder.expyrs.settext (data.get(i).get("minexp")); holder.expmnths.settext (data.get(i).get("maxexp")); holder.date.settext (data.get(i).get("postedon")); holder.appliedjobs.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { hashmap<string,string> row = data.get(i); bestcandidatedisplay display=new bestcandidatedisplay (); display.execute(row.get("reqid"), row.get("reqid")); } }); holder.appliedjobs.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { hashmap<string,string> row = data.get(i); bestcandidatedisplay display=new bestcandidatedisplay (); display.execute(row.get("reqid"),row.get("reqid")); } }); homecoming view; } class viewholder { textview category; textview expyrs; textview expmnths; textview date; textview jobcode; button bestcandidate; button appliedjobs; } } public class bestcandidatedisplay extends asynctask<string,string,string> { @override protected string doinbackground(string... strings) { string response= httprequest.post("https://beta135.hamarisuraksha.com/web/webservice/hsjobservice.asmx/getbestcandidates").send ("vendor_ientity_code=" + "&ijob_req_id=" +strings[0]+ "&ijob_requestor_id=" +strings[1]+ "&mode=" + "ttl").body (); homecoming null; } }
android listview android-asynctask onitemclicklistener custom-lists
No comments:
Post a Comment