I solved this by changing setOnGroupClickListener to setOnGroupExpandListener
elv.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
// TODO Auto-generated method stub
if (lastExpandedGroupPosition != -1 && groupPosition != lastExpandedGroupPosition) {
if(lastExpandedGroupPosition>groupPosition){
elv.collapseGroup(lastExpandedGroupPosition);
}else{
Log.v("last expand value", ""+lastExpandedGroupPosition);
Log.v("groupPosition", ""+groupPosition);
Log.v("count", ""+elv.getCount());
elv.collapseGroup(lastExpandedGroupPosition);
}
}
lastExpandedGroupPosition = groupPosition;
}
});