Je voudrais implémenter le défilement sans fin sur un composant android ListView, qui ajoutera de nouveaux éléments en bas de la liste lorsque défiler jusqu'au dernier élément de la liste.Implémenter Défilement sans fin sur ListView
Répondre
mettre en œuvre le onscrolllistener()
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
this.currentFirstVisibleItem = firstVisibleItem;
this.currentVisibleItemCount = visibleItemCount;
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
this.currentScrollState = scrollState;
this.isScrollCompleted();
}
private void isScrollCompleted() {
if (this.currentVisibleItemCount > 0 && this.currentScrollState == SCROLL_STATE_IDLE) {
/*** In this way I detect if there's been a scroll which has completed ***/
/*** do the work for load more date! ***/
if(!isLoading){
isLoading = true;
loadMoreDAta();
}
}
}
que vous implémentez et ajoutez cet écouteur à votre listview ce détectera la fin de listview que la position de défilement était à la fin de la liste simplement obtenir plus de données. Et pendant le chargement des données, vous avez besoin d'un drapeau pour charger les données à la fois lorsque la position de défilement se termine. Donc, si les données sont en cours de chargement et pendant ce temps, vous faites défiler vers le haut, puis faites défiler vers le bas, il n'y aura pas plus de données pour la duplication.
Essayez avec OnScrollListener Il suffit d'ajouter les articles à votre ListView
dans votre
public void onScroll(AbsListView view,
int firstVisible, int visibleCount, int totalCount) {
// Add the items
}
}
Et, le réglage de votre adapter.notifyDataSetChanged()
affiche les éléments ajoutés dans votre ListView
Ici je vous donne quelques exemples que la façon d'intégrer la onScrollListener
avec votre ListView
- 1. Android: défilement sans fin - ListView et Cursor
- 2. Grille de défilement sans fin?
- 3. Arrière-plan de défilement sans fin rapide
- 4. Défilement sans fin pour TTScrollView de Three20?
- 5. Webpage sans fin défilement vers le bas
- 6. sans fin ListView à l'intérieur ScrollView
- 7. ListView Barres de défilement insideOverlay sans effet
- 8. ListView sans défiler sur Android
- 9. Défilement horizontal/vertical sur ListView
- 10. Listview charger sur défilement (Android)
- 11. Position ListView sur le défilement
- 12. défilement ListView sur le bouton cliquez sur
- 13. données de charge sur listview-défilement
- 14. Yii défilement infini (sans fin) en utilisant Active Record
- 15. Désactiver le défilement dans listview sur l'actualisation
- 16. ListView défilement saccadé et lent sur Android
- 17. implémenter le défilement infini sans afficher les données en double
- 18. Le tampon de défilement sans fin n'est pas respecté
- 19. Défilement sans fin avec kaminari dans les rails, comment rendre?
- 20. Implémentation du défilement sans fin dans Recycler Afficher
- 21. Effet "Défilement sans fin" dans un tableau HTML
- 22. Android: défilement ListView conditionnel
- 23. défilement deux listview android
- 24. Boucle sans fin: pourquoi sans fin?
- 25. Adaptateur sans fin avec adaptateur listview personnalisé en android
- 26. Comment obtenir un ListView sans fin, comme celui du marché?
- 27. Défilement par programmation ListView
- 28. Taille interne d'un ListView sans barres de défilement
- 29. Android: comment faire un listview remplir son parent sans défilement?
- 30. ListView non défilement
hai, u peut me dire comment ajouter des données lorsque le défilement atteint vers le bas dans la page GridView .in wise.i suis en train ceci pour 2 weeks.can u aider moi – ManiTeja
ajouter des données dans votre liste ou arraylist ou tableau que vous avez passé à votre adaptateur pour le gridview et appelez le notifyDataSetChanged() de l'adaptateur après que les données ont été ajoutées pour rafraîchir gridview. – Pratik
pour éviter que isScrollCompleted soit appelé plusieurs fois J'ai ajusté la méthode pour utiliser un seuil, c'est-à-dire uniquement si ce nombre d'éléments est visible. public void onScrollStateChanged (vue AbsListView, int scrollState) { this.currentScrollState = scrollState; if ((jobAdapter.getCount() - (currentFirstVisibleItem + currentVisibleItemCount)) <= seuil) { this.isScrollCompleted(); } } – Ajibola