2010-06-22 6 views
0

J'ai un ExpandableListView "dynamique". C'est-à-dire que l'enfant n'est chargé que lorsqu'il y a un clic sur son parent. J'ai donc utilisé onGroupExpand pour charger la liste. Il fonctionne, mais je dois me développer le groupe avecProblème avec la position ExpandableListView

expandableList.expandGroup(groupPosition); 

Le problème est que, lorsque je clique sur parent, le groupe se développe mais la vue revenir à la première position. C'est-à-dire: je défile, je clique sur parent, groupe expand, affiche revenir au premier parent, donc je dois faire défiler à nouveau pour voir le groupe sur lequel je clique avant.

J'essaie d'utiliser expandableList.scrollTo(x,y); Mais cela ne fonctionne pas.

+0

Avez-vous trouvé une solution au problème de défilement? J'ai un problème similaire ... –

+0

Non, je n'ai pas. Nonce, je travaille sur quelque chose de plus important pour mon application. Si vous trouvez une solution, pourriez-vous l'écrire ici S'il vous plaît? Si je trouve, je vais le mettre ici. – Nanis

+0

Essayez ceci: listView.setSelectedGroup (groupPosition); – Derzu

Répondre

4

J'ai un problème similaire. J'ai trouvé cette méthode qui vous permet de faire défiler à partir d'une position de l'article:

mList.smoothScrollToPosition(pos); 

L'inconvénient est que je dois appeler cela de mon groupClickListener() et pour obtenir au travail, je dois le mettre à l'intérieur d'un runnable et le retarder par une partie d'une seconde sinon il ne fera rien. Cela signifie que ma liste défile dans un sens puis s'arrête et revient à l'endroit où elle se trouvait, ce qui semble bizarre. Mais c'est la seule chose que j'ai trouvée jusqu'à présent.

+0

oui, j'ai trouvé la même chose, j'ai oublié de poster la solution. Merci de le faire. – Nanis

+1

Pourquoi doit-il être appelé depuis Runnable? – Flynn81

Questions connexes