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
Post a Comment