android - How to get a spinner from listView programmatically -


i've created spinner programmatically , add listview's adapter. however, can't spinner listview.

//listview = (nestedlistview)findviewbyid(r.id.exlistview);  create.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                  spinner spinner;                  (int i=0; i<listview.getchildcount(); i++) {                      if (listview.getchildat(i) instanceof spinner){                         spinner = (spinner) listview.getchildat(i);                         string selection = (string) spinner.getselecteditem();                         log.e("spinner device", selection);                     }                 }             }  }); 

my adapter

public class explistadapter extends baseexpandablelistadapter {      private arraylist<arraylist<string>> mgroups;     private arraylist<deviceobject> deviceoblist;     private arraylist<roomsuggestion> roobjlist;     private context mcontext;      public explistadapter (context context,arraylist<arraylist<string>> groups, arraylist<deviceobject> deviceoblist, arraylist<roomsuggestion> roobjlist){         mcontext = context;         mgroups = groups;         this.deviceoblist = deviceoblist;         this.roobjlist = roobjlist;     }      @override     public int getgroupcount() {         return mgroups.size();     }      @override     public int getchildrencount(int groupposition) {         return mgroups.get(groupposition).size();     }      @override     public object getgroup(int groupposition) {         return mgroups.get(groupposition);     }      @override     public object getchild(int groupposition, int childposition) {         return mgroups.get(groupposition).get(childposition);     }      @override     public long getgroupid(int groupposition) {         return groupposition;     }      @override     public long getchildid(int groupposition, int childposition) {         return childposition;     }      @override     public boolean hasstableids() {         return true;     }      @override     public view getgroupview(int groupposition, boolean isexpanded, view convertview,                              viewgroup parent) {          if (convertview == null) {             layoutinflater inflater = (layoutinflater) mcontext.getsystemservice(context.layout_inflater_service);             convertview = inflater.inflate(r.layout.group_view, null);         }          if (isexpanded) {             //Изменяем что-нибудь, если текущая group раскрыта         } else {             //Изменяем что-нибудь, если текущая group скрыта         }          typeface lightface = typeface.createfromasset(mcontext.getassets(), "font/gothamprolight.ttf");          textview textgroup = (textview) convertview.findviewbyid(r.id.textgroup);          textgroup.settypeface(lightface);         textgroup.settext("thereses gate 46");          return convertview;     }      @override     public view getchildview(int groupposition, final int childposition, boolean islastchild,                              view convertview, viewgroup parent) {          if (convertview == null) {             layoutinflater inflater = (layoutinflater) mcontext.getsystemservice(context.layout_inflater_service);             convertview = inflater.inflate(r.layout.child_view, null);         }          typeface mediumface = typeface.createfromasset(mcontext.getassets(), "font/gothampromedium.ttf");          textview textchild = (textview) convertview.findviewbyid(r.id.textchild);         textchild.settypeface(mediumface);         textchild.settext( mgroups.get(groupposition).get(childposition) );          relativelayout rl = (relativelayout) convertview.findviewbyid(r.id.bg_button_screen);          if( !deviceoblist.get(childposition).getproduct_id().equals("0") ) {             rl.setbackgroundcolor(color.parsecolor("#4fcc54"));         } else {             rl.setbackgroundcolor(color.parsecolor("#e5910d"));         }          view linearlayoutg =  convertview.findviewbyid(r.id.container);         linearlayout.layoutparams layoutparams = new linearlayout.layoutparams(                     linearlayout.layoutparams.match_parent, linearlayout.layoutparams.wrap_content);         layoutparams.setmargins(10, 0, 10, 30);         linearlayoutg.setlayoutparams(layoutparams);          relativelayout spinneropen = (relativelayout) convertview.findviewbyid(r.id.spinneropen);         view linearlayout =  convertview.findviewbyid(r.id.spinnerl);          imageview images = (imageview)convertview.findviewbyid(r.id.spinnerimage);         images.getlayoutparams().width = 20;         images.getlayoutparams().height = 20;         images.setimageresource(r.drawable.spin_ok);          arraylist<string> list = new arraylist<string>();         (int i=0; i<roobjlist.size(); i++) {             list.add(roobjlist.get(i).getname() );         }          final spinner spinner = new spinner(mcontext);         // make sure have valid layout parameters.         spinner.setlayoutparams(new linearlayout.layoutparams(linearlayout.layoutparams.match_parent, 100));          spinner.setbackgroundresource(r.drawable.bg_spinner);          arrayadapter spinnerarrayadapter = new arrayadapter(mcontext,                     r.layout.spinner_item, list);         spinner.setadapter(spinnerarrayadapter);          // open spinner         spinneropen.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 spinner.performclick();             }         });          ((linearlayout) linearlayout).addview(spinner);          spinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() {             @override             public void onitemselected(adapterview<?> parent, view view, int position, long id) {                 log.e("selected", string.valueof(parent.getitematposition(position)) );                 log.e("childposition", string.valueof(childposition));             }             @override             public void onnothingselected(adapterview<?> parent) {              }         });          return convertview;     }      @override     public boolean ischildselectable(int groupposition, int childposition) {         return true;     } } 

you can try following code:

//listview = (nestedlistview)findviewbyid(r.id.exlistview);  create.setonclicklistener(new view.onclicklistener() {      @override     public void onclick(view v) {          for(int = 0; < listview.getadapter().getcount(); i++ ) {              for(int = 0; < listview.getchildcount(); i++ ) {                  view _mainview = listview.getchildat(i);                  linearlayout _linearlayout = _mainview.findviewbyid(r.id.spinnerl);                  spinner spinner = (spinner) _linearlayout.getchildat(0);                  string selection = (string) spinner.getselecteditem();                  log.e("spinner device", selection);              }          }      }  }); 

Comments

Popular posts from this blog

android - Pass an Serializable object in AIDL -

How to provide Authorization & Authentication using Asp.net, C#? -

How to use Authorization & Authentication in Asp.net, C#? -