Jorodan Posté(e) 10 novembre 2009 Share Posté(e) 10 novembre 2009 [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 ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 10 novembre 2009 Share Posté(e) 10 novembre 2009 reflechi un minimum. ... les listes ont des adapter et des set de fonctions pour te faciliter la vie. le linearlayout il va avoir du mal a te coder le onItemClick. -- Posté depuis BBFoC HTC Magic/sapphire Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jorodan Posté(e) 11 novembre 2009 Auteur Share Posté(e) 11 novembre 2009 Donc dans le cas où je veux faire du listing sans réaction je fais un LinearLayout+ScrollView ? Et dans le cas où je veux faire du listing "clickable" je fais un listView ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 11 novembre 2009 Share Posté(e) 11 novembre 2009 vas y réinvente la roue si tu as du temps a perdre. quand tu veux faire une liste, tu prends une liste. -- Posté depuis BBFoC HTC Magic/sapphire Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 11 novembre 2009 Share Posté(e) 11 novembre 2009 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". Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jorodan Posté(e) 11 novembre 2009 Auteur Share Posté(e) 11 novembre 2009 ok! Je m'en vais remplacer mon Linear+Scroll :D Merci :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 13 novembre 2009 Share Posté(e) 13 novembre 2009 ok! Je m'en vais remplacer mon Linear+Scroll :DMerci :D De rien :) Ça fait tellement plaisir de donner les bonnes pratiques et que les gens les suivent (c'est pas toujours le cas à cause de la flemme générale des gens :(). J'vais me proclamer "French Android advocate" lol. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
zehunter Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 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 :-) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cefabien Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 il m'a semblé lire quelque part que la ListView autorisait seulement 1 fils par ligne... dans ce cas exit la ligne avec une ImageView, un TextView et un EditTextView... Me trompes-je ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 Tu te trompes-te... Ton adapter renvoie une View via getView() pour chaque "ligne" de la ListView, et rien n'empêche cette View d'être un ViewGroup basé sur un layout complexe. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cefabien Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 oki oki, alors ça m'ouvre la voie pour mon appli :p Merci :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
zehunter Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 Tu te trompes-te...Ton adapter renvoie une View via getView() pour chaque "ligne" de la ListView, et rien n'empêche cette View d'être un ViewGroup basé sur un layout complexe. euh ... help, j'ai rien compris ... :-( Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 (modifié) 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é 26 janvier 2010 par Nivek Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 (modifié) Si vous avez un peu de temps et que l'anglais ne vous rebute pas, cette excellente présentation de Romain Guy présente la "bonne" façon de faire une ListView. Modifié 26 janvier 2010 par Nivek Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
zehunter Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 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 ... :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
zehunter Posté(e) 26 janvier 2010 Share Posté(e) 26 janvier 2010 Si vous avez un peu de temps et que l'anglais ne vous rebute pas, cette excellente présentation de Romain Guy présente la "bonne" façon de faire une ListView. trés interessant mais trop long :-( en plus Romain Guy est francais non? :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 27 janvier 2010 Share Posté(e) 27 janvier 2010 Pour les ListView, les 20 premières minutes suffisent. Oui, Romain Guy est français, du coup son anglais est plutôt compréhensible ! :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
zehunter Posté(e) 27 janvier 2010 Share Posté(e) 27 janvier 2010 Pour les ListView, les 20 premières minutes suffisent.Oui, Romain Guy est français, du coup son anglais est plutôt compréhensible ! :D j'ai tenu que 5 min :-( et il a pas fait la meme presentation en french le petit? :-) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.