Это стандартное поведение ExpandableListView. Он пытается показать все элементы группы, которые пользователь только что развернул. В вашем случае расширение групп 1-7 не скрывает дочерних элементов, но для других групп это скрывается, поэтому список прокручивается.

я есть ExpandableListView, который заполнен элементами. Когда вы нажимаете на элемент на верхнем уровне, он открывает следующий уровень, который показывает список, который содержит некоторую дополнительную информацию о каждом элементе. Для некоторых из верхних элементов (групп), когда я нажимаю на них, открываются нижние элементы (дочерние элементы) и больше ничего не происходит. Но для других групп, когда я нажимаю на них, это открывает детей и прокручивает меня до самого последнего ребенка в этой группе. Кто-нибудь знает, почему он делает это для некоторых предметов, а не для других? И есть ли способ избавиться от этого эффекта и просто прокрутить список до той же позиции, в которой он уже находится?

Изменить: я только что понял, что это делает прокрутку только для нижней половины элементов на верхнем уровне. Таким образом, на верхнем уровне есть 14 элементов, для элементов 8-14, когда вы нажимаете на них, он прокручивается вниз, так что последний дочерний элемент находится внизу экрана. Если вы нажимаете на пункты 1-7, дети открываются, и больше ничего не происходит.

Edit2: @coldForged, насколько я знаю, я использую стандартный ExpandableListView вот XML из моего макета:

<ExpandableListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:background="@drawable/paper"
android:scrollingCache="false"

android:scrollbars="none"
>
</ExpandableListView>

Может ли это быть вызвано атрибутом scrollingCache = "false"? Мне пришлось установить этот атрибут, чтобы он отображал фоновое изображение даже во время прокрутки списка. Без этого атрибута фон списка становится черным во время прокрутки.

Ответы на вопрос(2)

Ваш ответ на вопрос