Android ListView - défile en haut de page sur la mise à jour
J'ai une listview qui obtient des vues supplémentaires ajoutés sur demande, maintenus par un BaseAdapter. Comment puis-je maintenir la position de défilement après la mise à jour?
Je sais que cela a été demandé à quelques reprises, mais à chaque fois, la même solution a été mise de l'avant, que j'ai essayé, qui consiste à appeler adapter.notifyDataSetChanged();
après la mise à jour de la liste de tableaux qui contient le contenu de la liste.
Comment puis-je m'assurer que la position de défilement est maintenue?
- veuillez inclure votre code.
Vous devez vous connecter pour publier un commentaire.
De mettre en œuvre un
OnScrollListener
dans votre classe d'activité et ensuite utiliser le code suivant:Si vous utilisez
AsyncTask
pour la mise à jour de vos données, vous pouvez inclure les éléments suivants dans votrePostExecute()
afin de maintenir la position de Défilement:J'espère que cette aide.
L'approche que je prends est d'appeler
ListView.setSelection(position)
pour faire défiler lesposition
après la mise à jour.Selon l'endroit où vous êtes l'appeler à partir de, vous pourriez avoir besoin d'appeler
requestFocusFromTouch
avant d'appelersetSelection
afin de s'assurer de l'élément sera placé de manière appropriée.Ce code va vous aider....
Cheers 🙂
Vous pouvez essayer ceci:
Vous pouvez faire en tant que ci-dessous. Si vous souhaitez charger des données plus avec défilement vers le bas, il aura un peu de changement.