android - ExpandableListView does not call OnItemSelectedListener -


i've set onitemselectedlistener in custom expandablelistview:

setonitemselectedlistener(new onitemselectedlistener() {     @override     public void onitemselected(adapterview<?> parent, view view, int position, long id) {         log.debug(tag, "item selected");         // stuff     }      @override     public void onnothingselected(adapterview<?> parent) {         log.debug(tag, "nothing selected");         // stuff     }            }); 

this listener never called, whether touching items or calling setselected(int) or setselectedgroup(int).

there other q&as going 2010 onitemselectedlistener not working listview. couldn't find 1 explains how working. common answer use click listener instead. want avoid if possible, because need know when nothing selected (i.e., list empty) , want take advantage of feature of onitemselectedlistener#onitemselected(...):

this callback invoked when newly selected position different selected position or if there no selected item.

i achieve both of these things through other means, nicer if onitemselectedlistener worked.

edit: appears expandablelistview broken regard item selection. when called in click listener, snippet logs selected item -1:

setselection(0); setselectedgroup(0); log.debug(tag, "selected item: " + getselecteditemposition()); 

please use use 1 of following method suitable you\

exlvreportdata.setongroupclicklistener(new expandablelistview.ongroupclicklistener() {          @override         public boolean ongroupclick(expandablelistview parent, view v,                                     int groupposition, long id) {              return false;         }     });      // listview group expanded listener exlvreportdata.setongroupexpandlistener(new expandablelistview.ongroupexpandlistener() {          @override         public void ongroupexpand(int groupposition) {               //toast.maketext(getapplicationcontext(),               //listdataheader.get(groupposition) + " expanded",               //toast.length_short).show();         }     });      // listview group collasped listener exlvreportdata.setongroupcollapselistener(new expandablelistview.ongroupcollapselistener() {          @override         public void ongroupcollapse(int groupposition) {             //toast.maketext(getapplicationcontext(),             //listdataheader.get(groupposition) + " collapsed",             // toast.length_short).show();          }     });      // listview on child click listener     exlvreportdata.setonchildclicklistener(new expandablelistview.onchildclicklistener() {          @override         public boolean onchildclick(expandablelistview parent, view v,                                     int groupposition, int childposition, long id) {             // todo auto-generated method stub                  // toast.maketext(                  // getapplicationcontext(),                  // listdataheader.get(groupposition)                  //  + " : "                  // + listdatachild.get(                  // listdataheader.get(groupposition)).get(                  // childposition), toast.length_short)                  // .show();             return false;         }     }); 

feel free comment if have issue


Comments

Popular posts from this blog

javascript - Chart.js (Radar Chart) different scaleLineColor for each scaleLine -

apache - Error with PHP mail(): Multiple or malformed newlines found in additional_header -

android - Go back to previous fragment -