Les paramètres dans android

Bonjour, je n’arrive pas à trop comprendre comment on utilise les paramètres, je suis un cours sur udemy, et je ne comprends pas la différence entre ces 2 codes qui fonctionnent très bien:

Le premier code est le code du cours sur Udemy:

et voici le code que j’ai fait moi même en supprimant les view en paramètre:

Ma question est la suivante: quelle est la différence entre ces 2 codes? Pourquoi l’instructeur passe t il en paramètre view? Alors que sur mon code tout fonctionne très bien sans paramètres.

Merci

Hello,

L’intérêt de passer une view en paramètre est de s’en servir dans la fonction clickDatePicker ou alors dans la closure du setOnClickListener dans la suite de ton cours.
Si ce n’est pas le cas, effectivement, c’est bizarre de venir initialiser une view pour ne pas s’en servir par la suite surtout que la structure du setOnClickListener n’en a pas besoin pour s’exécuter correctement.

1 « J'aime »

Je vais regarder la suite du cours ça doit etre utilisé sûrement…
Merci encore à toi

Tss, tss… Bien que ce soit la même chose en fait, lambda, pas closure… :slightly_smiling_face:

1 « J'aime »

Alors là je n’ai pas compris ta réponse lol

Le terme closure n’existe pas en développement Android. c’est un mot qui provient des techniques de programmation iOS et qui n’a donc pas sa place dans ce topic. Voilà ce que @fjacquemin voulait dire !

Ha il corrigé le mot closure en lambda … D’accord je comprends mieux

Ah merde, exact !
En fait, je n’avais plus le mot en tête, j’avais la flemme de le chercher, donc j’ai mis closure, comme ça au moins on savait de quoi on parlait ^^

Haha… mais je pense que mon problème est surtout les lambdas… Où closure, je ne sais pas du tout a quoi ça sert et quand s’en servir…

La lambda est vraiment une simplification de la déclaration de fonction par rapport à avant en java. Tu n’auras pas trop le choix d’utiliser une lambda ou non, c’est l’utilisation de la fonction qui te « l’imposera ».

Par exemple dans mes 2 exemples, pourquoi lettre une lambda alors qu’on peut simplement appeler la fonction … Il faudrait que je lui demande directement mais il ne répond pas…