Aller au contenu

Quelle est la différence une ListView et LinearLayout+ScrollView


Jorodan

Recommended Posts

[HS] J'ai hésité à mettre "Quelle est la différence entre un pigeon ?" Mais j'aurais plus eu le droit de reprocher les sujets pas explicites[/HS]

Sinon, je me suis posé la question suivante car j'ai l'impression que le résultat est le même :

Quelle est la différence une ListView et LinearLayout inclu dans un ScrollView ?

Lien vers le commentaire
Partager sur d’autres sites

La différence réside aussi dans la rapidité ...

Encore une fois (je me répète), si tu code bien une ListView (je songe à faire un bon gros post là dessus) il y a un mecanisme de réutilisation qui s'applique. En clair avec une ListView tu as des beau scrolls bien "smooth" (encore une fois si tu code bien) alors qu'avec une ScrollView tu perd tout c'est mécanisme tout simplement parce le contenu d'une ScrollViw n'est pas censé être "répétitif".

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...
La différence réside aussi dans la rapidité ...

Encore une fois (je me répète), si tu code bien une ListView (je songe à faire un bon gros post là dessus) il y a un mecanisme de réutilisation qui s'applique. En clair avec une ListView tu as des beau scrolls bien "smooth" (encore une fois si tu code bien) alors qu'avec une ScrollView tu perd tout c'est mécanisme tout simplement parce le contenu d'une ScrollViw n'est pas censé être "répétitif".

perso je début et un tuto sur les listview serait appréciable :-) avec si possible des checkbox mais la j'abuse je pense :-)

Lien vers le commentaire
Partager sur d’autres sites

Par contre, la recyclabilité de chaque ligne fait que l'association d'un champ cliquable/éditable au modèle peut parfois amener des surprises...

@zehunter: version simple

La ListView est un objet purement graphique qui affiche des composants les uns en dessous des autres et les fait défiler.

La constitution du détail du composant qui représente la ligne est déléguée à un objet de type ListAdapter. Pour obtenir ce composant, la ListView fait appel à ListAdapter.getView(position) qui lui renvoie le composant.

Ce composant doit être au minimum du type View. Mais ce type View est très générique, et cela ne veut pas dire qu'on est limité à un composant avec un unique champ texte ou une unique image. Les layouts comme les LinearLayout sont des objets qui héritent de ViewGroup qui lui-même hérite de View. Donc en fait, getView() peut très bien renvoyer un layout dans lequel il aura ajouté autant d'objets graphiques qu'il le souhaite.

Modifié par Nivek
Lien vers le commentaire
Partager sur d’autres sites

Par contre, la recyclabilité de chaque ligne fait que l'association d'un champ cliquable/éditable au modèle peut parfois amener des surprises...

@zehunter: version simple

La ListView est un objet purement graphique qui affiche des composants les uns en dessous des autres et les fait défiler.

La constitution du détail du composant qui représente la ligne est déléguée à un objet de type ListAdapter. Pour obtenir ce composant, la ListView fait appel à ListAdapter.getView(position) qui lui renvoie le composant.

Ce composant doit être au minimum du type View. Mais ce type View est très générique, et cela ne veut pas dire qu'on est limité à un composant avec un unique champ texte ou une unique image. Les layouts comme les LinearLayout sont des objets qui héritent de ViewGroup qui lui-même hérite de View. Donc en fait, getView() peut très bien renvoyer un layout dans lequel il aura ajouté autant d'objets graphiques qu'il le souhaite.

bon je me gratte encore un peu la tete, mais c'est plus clair :-)

je dois avoué je début en dev android, et mes connaissances en java date du siècle dernier ... :)

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...