android - sirve - tesis sobre youtube pdf
Mostrar solo un hijo de la lista expandible a la vez (4)
No tengo conocimiento de ningún método automático para esto, pero puede implementar ExpandableListView.OnGroupClickListener
, en el que ejecuta collapseGroup()
para todos los grupos de la lista, excepto el que se hace clic. Esto hará lo que quieras.
¿Es posible expandir solo un hijo de ExpandableListView
a la vez, por lo que abrir un segundo hijo cerraría el hijo que se abrió anteriormente?
Puede usar esto para varias condiciones como quiera hacer en la expansión de la lista -
expList.setOnChildClickListener(new OnChildClickListener()
{
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int childGroupPosition, int childPosition, long id) {
// Log.e("OnChildClickListener", "OK "+childGroupPosition+" "+childPosition);javainterviewquestion
if(childGroupPosition ==0 && childPosition == 0)
{
}
if(childGroupPosition ==0 && childPosition == 1)
{
}
return false;
}
});
Solo para confirmar la respuesta de bos en el código:
expandableList.setOnGroupExpandListener(new OnGroupExpandListener() {
int previousGroup = -1;
@Override
public void onGroupExpand(int groupPosition) {
if(groupPosition != previousGroup)
expandableList.collapseGroup(previousGroup);
previousGroup = groupPosition;
}
});
También puedes usar simplemente withOnlyOneExpandedItem()
que está en FastAdapter
que está en FastAdapter External Library por mikepenz
Por ejemplo como lo estoy usando en mi cajón.
drawer.getAdapter().withOnlyOneExpandedItem(true);