Jump to content

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 ?

Link to comment
Share on other 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".

Link to comment
Share on other 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 :-)

Link to comment
Share on other 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.

Edited by Nivek
Link to comment
Share on other 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 ... :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...