Intereting Posts
Как повторить HTTP-запросы с помощью OkHttp / Retrofit? Как изменить размер изображения на Android? Как нарисовать свободный полигон в карте Google V2 в Android? Какова связь между пикселями и масштабированными пикселями Экспорт APK из eclipse (ADT) бесшумно падает Пользовательская панель действий для вырезания / копирования для EditText, которая отображает дескрипторы выбора текста Есть ли шаблон регистрации GCM? Android PermissionDenial: разрешение Bind_RemoteViews Удалите все неиспользуемые классы, методы из проекта Android Studio Фрагменты и широковещательные приемники Получить путь к папке галереи в Android Ant не может найти javac, JAVA_HOME не будет установлен на Ubuntu Содержимое Android-сообщества Android Facebook не показано на главной странице RecyclerView различные itemDecoration для разных предметов Как разрешить ошибку «Ресурс не найден, который соответствует указанному имени» при добавлении библиотеки v7 AppCompat в Eclipse?

Показывать только одного ребенка расширяемого списка за раз

Можно ли только развернуть один дочерний элемент ExpandableListView за один раз, таким образом, открытие второго ребенка закроет ранее открытый ребенок?

Solutions Collecting From Web of "Показывать только одного ребенка расширяемого списка за раз"

Я не знаю никаких автоматических методов для этого, но вы можете реализовать ExpandableListView.OnGroupClickListener , где вы запускаете команду collapseGroup() для всех групп списков, кроме тех, которые были нажаты. Это сделает то, что вы хотите.

Просто чтобы подтвердить ответ bos в коде:

  expandableList.setOnGroupExpandListener(new OnGroupExpandListener() { int previousGroup = -1; @Override public void onGroupExpand(int groupPosition) { if(groupPosition != previousGroup) expandableList.collapseGroup(previousGroup); previousGroup = groupPosition; } }); 

Также вы можете просто использовать withOnlyOneExpandedItem() который находится в FastAdapter

Например, когда я использую его в своем ящике

 drawer.getAdapter().withOnlyOneExpandedItem(true); 

Вы можете использовать это для различных условий, которые вы хотите сделать в расширении списка –

  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; } });