Comment faire défiler ListView vers le bas?
J'ai pensé que ce serait une tâche simple, mais apparemment, il n'existe aucun moyen pour faire défiler listview vers le bas. Toutes les solutions que j'ai trouvé sont à l'aide de variations de setSelection(lastItem)
méthode qui n'établit de sélection sur le dernier élément, mais n'a pas fait défiler vers le bas.
Dans mon cas, j'ai un vide listview (avec une longue d'affichage vide header set) et je veux faire défiler vers le bas.
Alors, est-il un moyen de le faire?
Edit:
Donc, pour ceux qui sont intéressés à la solution de travail est:
getListView().setSelectionFromTop(0, -mHeader.getHeight());
et
getListView().scrollTo(mOffset)
Cela fonctionne aussi, avec le droit de décalage (calculé sur la base actuelle de la position de défilement), mais peut vous donner des résultats inattendus.
source d'informationauteur Sver
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
list.scrollTo(0, list.getHeight());
Si vous souhaitez que l'affichage de la liste à être défile toujours à fond, même lorsque vous faites la mise à jour de la liste afficher dynamiquement ensuite, vous pouvez ajouter ces attributs dans la liste.
utilisation suivantes
Si vous souhaitez avoir un défilement de l'animation par programme vous pouvez facilement faire défiler vers le bas de la liste à l'aide de:
de défilement vers le haut de la liste peut être obtenue en utilisant:
Essayer celui-là.. il permettra de résoudre votre problème, je l'ai essayé et il fonctionne très bien.
Son travail pour moi
Utilisation suivantes et essayez de.
listview.setSelection(adaptateur.getCount()-1);
Vous pourriez vouloir essayer
myListView.smoothScrollToPosition(myListView.getCount() - 1)
. De cette façon, vous n'êtes pas forcé sur la sélection de la dernière rangée. De Plus, vous obtenez certains lisse, beau défilement! (:J'ai Eu le même problème, Ce qui fonctionne le mieux pour moi
si il n'y a pas d'adaptateur pour votre ListView alors il n'a pas d'enfants, vue vide n'est pas un enfant de votre ListView