android - How to get values of dynamically set radiobuttons? -
i having dynamic set of radiobuttons value drawn string array. want values of selected radiobuttons on click of button. how ? idea
below working copy
public class mainactivity extends activity { private arraylist<product>pproductarraylist; private arraylist<subcategory>psubitemarraylist; private arraylist<subcategory>psubitemarraylist2; private linearlayout mlinearlistview; boolean isfirstviewclick=false; boolean issecondviewclick=false; radiobutton rdbtn; private radiogroup radiogroup; private string[] shownames = {"aa", "bb", "cc"}; //dynamic show names private string[] application = {"dd", "ee", "ff", "ghi"}; //dynamic applicaiton names private string[] device = {"jkl", "mno", "pqr", "stu"}; //dynamic device names @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mlinearlistview = (linearlayout) findviewbyid(r.id.linear_listview); arraylist<itemlist> mitemlistarray=new arraylist<itemlist>(); mitemlistarray.add(new itemlist("", "")); arraylist<itemlist> mitemlistarray2=new arraylist<itemlist>(); mitemlistarray2.add(new itemlist("", "")); psubitemarraylist=new arraylist<subcategory>(); psubitemarraylist2=new arraylist<subcategory>(); psubitemarraylist.add(new subcategory("select application/device", mitemlistarray)); //static header psubitemarraylist2.add(new subcategory("select device", mitemlistarray2)); //static header pproductarraylist=new arraylist<product>(); (int = 0; < shownames.length; i++){ pproductarraylist.add(new product(shownames[i], psubitemarraylist)); } (int = 0; < pproductarraylist.size(); i++) { layoutinflater inflater = null; inflater = (layoutinflater) getapplicationcontext().getsystemservice(context.layout_inflater_service); view mlinearview = inflater.inflate(r.layout.row_first, null); final textview mproductname = (textview) mlinearview.findviewbyid(r.id.textviewname); final relativelayout mlinearfirstarrow=(relativelayout)mlinearview.findviewbyid(r.id.linearfirst); final imageview mimagearrowfirst=(imageview)mlinearview.findviewbyid(r.id.imagefirstarrow); final linearlayout mlinearscrollsecond=(linearlayout)mlinearview.findviewbyid(r.id.linear_scroll); if(isfirstviewclick==false){ mlinearscrollsecond.setvisibility(view.gone); mimagearrowfirst.setbackgroundresource(r.drawable.arw_lt); } else{ mlinearscrollsecond.setvisibility(view.visible); mimagearrowfirst.setbackgroundresource(r.drawable.arw_down); } mlinearfirstarrow.setontouchlistener(new ontouchlistener() { @override public boolean ontouch(view v, motionevent event) { if(isfirstviewclick==false){ isfirstviewclick=true; mimagearrowfirst.setbackgroundresource(r.drawable.arw_down); mlinearscrollsecond.setvisibility(view.visible); }else{ isfirstviewclick=false; mimagearrowfirst.setbackgroundresource(r.drawable.arw_lt); mlinearscrollsecond.setvisibility(view.gone); } return false; } }); final string name = pproductarraylist.get(i).getpname(); mproductname.settext(name); /** * */ (int j = 0; j < pproductarraylist.get(i).getmsubcategorylist().size(); j++) { layoutinflater inflater2 = null; inflater2 = (layoutinflater) getapplicationcontext().getsystemservice(context.layout_inflater_service); view mlinearview2 = inflater2.inflate(r.layout.row_second, null); textview msubitemname = (textview) mlinearview2.findviewbyid(r.id.textviewtitle); final relativelayout mlinearsecondarrow=(relativelayout)mlinearview2.findviewbyid(r.id.linearsecond); final imageview mimagearrowsecond=(imageview)mlinearview2.findviewbyid(r.id.imagesecondarrow); final linearlayout mlinearscrollthird=(linearlayout)mlinearview2.findviewbyid(r.id.linear_scroll_third); if(issecondviewclick==false){ mlinearscrollthird.setvisibility(view.gone); mimagearrowsecond.setbackgroundresource(r.drawable.arw_lt); } else{ mlinearscrollthird.setvisibility(view.visible); mimagearrowsecond.setbackgroundresource(r.drawable.arw_down); } mlinearsecondarrow.setontouchlistener(new ontouchlistener() { @override public boolean ontouch(view v, motionevent event) { if(issecondviewclick==false){ issecondviewclick=true; mimagearrowsecond.setbackgroundresource(r.drawable.arw_down); mlinearscrollthird.setvisibility(view.visible); }else{ issecondviewclick=false; mimagearrowsecond.setbackgroundresource(r.drawable.arw_lt); mlinearscrollthird.setvisibility(view.gone); } return false; } }); final string catname = pproductarraylist.get(i).getmsubcategorylist().get(j).getpsubcatname(); msubitemname.settext(catname); (int k = 0; k < pproductarraylist.get(i).getmsubcategorylist().get(j).getmitemlistarray().size(); k++) { layoutinflater inflater3 = null; inflater3 = (layoutinflater) getapplicationcontext().getsystemservice(context.layout_inflater_service); view mlinearview3 = inflater3.inflate(r.layout.row_third, null); radiogroup = (radiogroup) mlinearview3.findviewbyid(r.id.myradiogroup); for(int m=0;m<application.length;m++) { rdbtn = new radiobutton(this); rdbtn.setid(m); rdbtn.settext(application[m]); radiogroup.addview(rdbtn); } mlinearscrollthird.addview(mlinearview3); } (int l = 0; l < pproductarraylist.get(i).getmsubcategorylist().get(j).getmitemlistarray().size(); l++) { layoutinflater inflater4 = null; inflater4 = (layoutinflater) getapplicationcontext().getsystemservice(context.layout_inflater_service); view mlinearview4 = inflater4.inflate(r.layout.row_third, null); radiogroup = (radiogroup) mlinearview4.findviewbyid(r.id.myradiogroup); for(int m=0;m<device.length;m++) { rdbtn = new radiobutton(this); rdbtn.setid(m); rdbtn.settext(device[m]); radiogroup.addview(rdbtn); } mlinearscrollthird.addview(mlinearview4); } mlinearscrollsecond.addview(mlinearview2); } mlinearlistview.addview(mlinearview); } } }
if want values of checked radiobutton (inside radiogroup it's 1 item) when click button use this:
radiogroup group = (radiogroup)findviewbyid(r.id.radio_group_id); button button = (button)findviewbyid(r.id.button_id); //if want print radio's value in textview textview label = (textview)findviewbyid(r.id.text_view_id); button.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { int checkedid = group.getcheckedradiobuttonid(); radiobutton radio = (radiobutton)findviewbyid(checkedid); label.settext(radio.gettext()); } });
Comments
Post a Comment