Est-il possible de ne développer qu'un seul enfant d'un ExpandableListView
à la fois, ainsi l'ouverture d'un deuxième enfant fermerait l'enfant précédemment ouvert ?
Réponses
Trop de publicités?
Blundell
Points
28342
Juste pour confirmer la réponse de bos dans le code :
expandableList.setOnGroupExpandListener(new OnGroupExpandListener() {
int previousGroup = -1;
@Override
public void onGroupExpand(int groupPosition) {
if(groupPosition != previousGroup)
expandableList.collapseGroup(previousGroup);
previousGroup = groupPosition;
}
});
Dasser Basyouni
Points
1108
Vous pouvez également utiliser simplement le withOnlyOneExpandedItem()
qui se trouve dans FastAdapter
qui est dans la bibliothèque externe FastAdapter par mikepenz
Par exemple, comme je l'utilise dans mon tiroir
drawer.getAdapter().withOnlyOneExpandedItem(true);
jhon
Points
79
vous pouvez l'utiliser pour diverses conditions comme vous le souhaitez dans l'extension de la liste -
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;
}
});