• soit c’est la fonction qui te l’impose et tu ne peux rien passer d’autres comme arguments que ce que la fonction te dit de passer.
ex : override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {}
Si tu mets d’autres arguments, ça ne compilera pas
• soit c’est une fonction que tu créés pour tes propres besoins dans ton code et là tu peux lui passer à peu près ce que tu veux. L’intérêt de passer des arguments à ta fonction est de les utiliser ensuite dans ta fonction. Dans ton exemple, il n’y a aucun intérêt à passer (button: View) si tu n’utilises pas button par la suite dans la fonction. Mais si, par exemple, tu veux changer le texte du button, sa couleur ou quoi que ce soit d’autre, tu as besoin de le mettre afin de pouvoir l’utiliser dans ta fonction.
Merci à toi schtipoun pour ta réponse.
En fait la fonction :
fun okButtonTouched(button:View){}
permet de relier le bouton au xml, je pense que les paramètres button:View y est obligatoire.
En fait je pense que ce sont les fonctions qui sont propres à Android Studio qui me posent problèmes comme par exemple:
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) : CharacterViewHolder{
}
ici, parent de type ViewGroup et viewType:Int je ne les comprends pas… Je sais que cette fonction hérite de CharacterViewHolder… il faudrait que je fasse plus de tests pour comprendre.
onCreateViewHolder est typiquement une fonction dont tu ne peux pas maîtriser les arguments. Maintenant, ça ne veut pas dire que tu dois tous les définir ou t’en servir. Mais si tu veux appeler cette fonction, tu devras obligatoirement fournir ces arguments sous peine d’avoir une erreur de compilation.