2009-09-24 14 views
2

J'ai fait une recherche autour de diverses questions liées à celui que je vais demander. Je veux juste le demander de manière claire et simple et j'espère obtenir une réponse claire et simple :)Autogrow ListView dans Android

J'ai un List de plusieurs centaines d'articles que je veux présenter à l'utilisateur dans le widget ListView. Au départ, je veux commencer avec disons 50 articles et comme l'utilisateur fait défiler vers le bas, je veux ajouter un autre 50 et ainsi de suite. Je pense que GMail Inbox serait un bon exemple de ce dont j'ai besoin. Je ne suis pas intéressé par la mise en œuvre Cursor - l'ensemble de données est assez simple que je l'ai dit pour l'instant c'est juste un List.

aussi - dire ListView devient trop gros, ce serait bien de commencer à découper par le haut de sorte qu'il se comporte comme une règle coulissante à elle max montrant environ 200 lignes (avec 30 visible)

Répondre

3

Vous pouvez essayer mon EndlessAdapter. Il enveloppe un ListAdapter que vous fournissez et vous permet de charger des données supplémentaires lorsque l'utilisateur atteint le fond. Vous pouvez également essayer de supprimer des éléments du haut (par exemple, remove() sur ArrayAdapter), même si je suis un peu nerveux à ce sujet - Android pourrait ne pas prendre les bonnes décisions si, disons, votre liste ne change pas de taille mais la rangée de lignes changements.

+0

Parfait! Merci Mark, je vais essayer et rendre compte! – Bostone

+0

Avez-vous déjà eu l'occasion de l'essayer? Je suis juste curieux de connaître les performances de l'adaptateur sans fin? Merci, Faisal –

+0

J'ai fait. À la fin je ne suis pas allé avec le code de Mark mais voici ce que j'ai trouvé jusqu'à présent: Si j'ajoute simplement des articles à l'adaptateur ceux-ci n'apparaîtront pas. J'ai essayé de voir # invalider et ça ne sert à rien. La seule façon de faire apparaître des éléments supplémentaires est d'appeler à nouveau ListView # setAdapter. Non, je n'ai pas besoin de recréer un adaptateur. Le problème est - la liste saute au premier élément. Je reçois le code source pour regarder ce qui se passe dans cet appel, alors restez posté – Bostone