Проблема с положением ExpandableListView

У меня есть "Динамический" ExpandableListView. То есть дочерний элемент загружается только при нажатии на родителя.

Поэтому я использую onGroupExpand для загрузки списка. Это работает, но я должен расширить свою группу с помощью

expandableList.expandGroup(groupPosition);

Проблема в том, что когда я нажимаю на родителя, группа расширяется, но представление возвращается к первой позиции. То есть: я прокручиваю, нажимаю на родителя, расширяю группу, возвращаюсь к первому родителю, поэтому я должен снова прокрутить, чтобы увидеть группу, на которую я нажал раньше.

Я пытаюсь использовать expandableList.scrollTo(x,y);, но это не работает.


person Nanis    schedule 22.06.2010    source источник
comment
Вы нашли решение проблемы с прокруткой? У меня аналогичная проблема...   -  person Samik R    schedule 07.10.2010
comment
Нет, я этого не сделал. Nonce, я работаю над чем-то более важным для моего приложения. Если вы найдете какое-либо решение, не могли бы вы написать его здесь, пожалуйста? Если найду, выложу сюда.   -  person Nanis    schedule 18.10.2010
comment
Попробуйте это: listView.setSelectedGroup(groupPosition);   -  person Derzu    schedule 24.05.2012


Ответы (1)


У меня похожая проблема. Я нашел этот метод, который позволяет вам прокручивать в зависимости от позиции элемента:

mList.smoothScrollToPosition(pos);

Недостатком является то, что я должен вызывать это из моего groupClickListener(), и чтобы заставить его работать, я должен поместить его в исполняемый файл и задержать его на часть секунды, иначе он ничего не сделает. Это означает, что мой список прокручивается в одну сторону, затем останавливается и прокручивается обратно туда, где он был, что выглядит странно. Но это единственное, что я пока придумал.

person FoamyGuy    schedule 03.05.2011
comment
да, я нашел то же самое, я забыл опубликовать решение. Спасибо за это. - person Nanis; 05.05.2011
comment
Почему его нужно вызывать из Runnable? - person Flynn81; 08.12.2012