Différence entre ScrollView et ListView

est-ce que quelqu'un peut expliquer la différence entre la vue Scroll et la vue List? Quand à utiliser? Et lequel est le plus efficace?

34
demandé sur Alex.K. 2012-03-22 14:43:14

6 réponses

ScrollView est utilisé pour afficher des vues ou des mises en page différentes ou identiques d'un enfant et le tout peut être scrollé.

ListView est utilisé pour mettre la même vue enfant ou la mise en page que plusieurs articles. Tous ces articles sont également scrollables.

simplement ScrollView est pour la collecte à la fois homogène et hétérogène. ListView n'est destiné qu'à une collecte homogène.

26
répondu Yugandhar Babu 2012-03-22 10:51:24

Ils sont complètement différents.

ScrollView est un simple conteneur de défilement que vous pouvez utiliser pour faire défiler tout ce que vous mettez à l'intérieur, qui pourrait être une liste d'articles, ou il pourrait ne pas.

http://developer.android.com/reference/android/widget/ScrollView.html

ListView est très spécifiquement conçu pour contenir des listes, où les éléments se ressemblent généralement (ou au moins suivent un modèle, par exemple des titres de section). ListView est également conçu pour se connecter à une source de données de quelque sorte, SQLite, tableau, fournisseur de contenu, etc. ListView peut se dimensionner pour traiter un nombre énorme d'éléments de liste.

http://developer.android.com/resources/tutorials/views/hello-listview.html

si vous avez des données que vous devez afficher dans une liste, utilisez un ListView. Si vous avez juste besoin de faire défiler le contenu, alors un ScrollView est assez probbaly.

24
répondu Ollie C 2012-03-22 10:48:32

ScrollView place simplement son contenu dans un conteneur scrollable, vous pouvez éditer son contenu uniquement en y ajoutant des vues.

ListView est une classe qui utilise un adaptateur qui gère la création des vues pour vos objets de données, vous n'avez qu'à éditer les données, et les modifications de mise en page sont effectuées automatiquement par l'adaptateur.

ScrollView devrait être utilisé lorsque vous avez un écran (ex: un formulaire avec plusieurs champs) qui ne rentre pas dans un écran sur les petits appareils, comme ces scrollview offre à l'utilisateur la possibilité de faire défiler vers le bas.

ListView doit être utilisé pour représenter des ensembles de données.

Vous pouvez lire à ce sujet à http://developer.android.com/guide/index.html

2
répondu dzsonni 2012-03-22 10:49:36

ListView: -

dans ListView vous pouvez gérer facilement la mise en page des éléments en xml que vous voulez afficher dans list.

vous devez indiquer à l'adaptateur combien d'articles vous voulez dans votre liste d'affichage.

vous pouvez concevoir à la fois pour des vues homogènes ainsi que des vues hétérogènes en fonction de vos besoins en utilisant la méthode D'Adaptateur getItemViewType ().

dans ListView, les éléments list sont créés en fonction de la taille de l'écran. j'.e la Façon dont beaucoup d'éléments peuvent les vues supplémentaires (items) sont créées lorsque la liste est affichée à l'exécution. Les vues qui sont affichées une fois sont mises en cache quand elles sortent de l'écran et quand la liste est retournée à l'état précédent les mêmes vues sont affichées mais cette vue de temps n'est pas créée plutôt qu'elles sont récupérées à partir du cache.

ScrollView : -

le concept de Cache n'est pas applicable avec ScrollView.

toutes les vues sont créées à la fois quand elles viennent à l'écran et sont pas mis en cache lorsqu'ils sortent de l'écran en faisant défiler. Ils sont présents dans la mémoire(principale) qui peut conduire à la fuite de mémoire parce que le nombre d'objets créés ne sont pas détruits par le collecteur de déchets car ils sont référencés jusqu'à ce que vous êtes sur la même page.

bien que vous puissiez créer des vues à la fois homogènes et hétérogènes. S'il y a plus d'éléments à afficher dans votre liste, il serait fastidieux de gérer la mise en page que vous conceviez en xml ou que vous créiez utilisation dynamique du code Java.

il est préférable d'utiliser scrollview si vous avez une seule page qui ne contient pas la liste des éléments E. g formulaire d'inscription, formulaire de réservation, mais cette vue est plus grande que la taille de l'écran, puis mettez ScrollView comme vue de parent gardez également à l'esprit que ScrollView ne peut avoir qu'une mise en page/vue enfant directe.

2
répondu Vikash Kumar Tiwari 2016-12-17 10:37:32

un ListView est supporté par un adaptateur, qui contient une source de données. Cela vous permet d'afficher facilement des données dans les lignes.

un ScrollView vous permet de mettre du contenu à l'intérieur de celui-ci, et si le contenu dépasse la taille du ScrollView, il permettra à l'utilisateur de faire défiler.

Ils ont leur utilité, mais cela dépend de ce que vous essayez de faire.

0
répondu Mimminito 2012-03-22 10:48:21

Puisqu'une image vaut mille mots, voici des exemples parfaits de la vie réelle:

Listview est comme le Kijiji app

Scrollview est comme le EBay app

Aussi, voir un scrollview comme un panneau d'affichage ou un mur, où vous pouvez mettre des tas de choses différentes.

et un listview est plus comme une page de résultat: les résultats sont tous de même nature, donc ils s'inscrivent parfaitement dans un listview. Comme un contacts liste: ils partagent tous la même structure; numéro de téléphone, nom, adresse, etc....

0
répondu Patrick 2014-12-08 15:57:17