viewHolder pour RecyclerView

Bonjour,
je suis sur le cours android sur le recyclerView, et dans la vidéo :https://www.purplegiraffe.fr/courses/456662/lectures/10053825

à 1 min 30, Maxime dit qu’on fait hériter class CharacterViewHolder de ViewHolder…
Il n’y a pas d’explications, pourquoi le fait-on hériter de ViewHolder? Comment sait-on qu’il faut le faire hériter de ViewHolder?
Maxime dit:
« Il va falloir faire en sorte que ces classes là se raccrochent à ce qu’attend le recyclerView, par exemple le viewHolder je vais le faire hériter de ViewHolder… »
Je ne comprends pas le « par exemple le viewHolder je vais le faire hériter de ViewHolder… », pourquoi par exemple? est ce que cela veut dire qu’on aurait pu le faire autrement?

C’est comme dans les constructeurs de classes, je n’arrive jamais à savoir ce qu’il faut mettre à l’intérieur des parenthèses à chaque fois…

Avez vous une astuce pour comprendre plus vite?
Merci.

La difficulté n’est pas tellement de faire hériter une classe particulière à ton programme d’une classe plus générale prévue dans Androidx, en l’occurence faire hériter CharacterViewHolder de ViewHolder, c’est de bien comprendre pourquoi il choisit de déclarer la classe CharacterViewHolder comme une classe intégrée à CharacterAdapter, en en faisant ainsi un membre de la classe CharacterAdapter. À mon humble avis, tu risques d’avoir la réponse dans les cours suivants. Je reconnais que c’est aussi difficile à suivre qu’un pointeur qui pointe sur un pointeur qui finit par pointer sur la zone mémoire occupée par l’objet dont il s’agit.

1 J'aime

Bon je vais continuer le cours et voir si j’arrive à mieux comprendre. Merci à toi.

Effectivement, le chapitre sur le RecyclerView n’est pas le plus simple car l’API de Google est assez complexe à ce niveau.
Mais dans ce cas précis, je disais par exemple car j’avais dit juste avant qu’il y en avait 2 et je te présentais le premier (celui du view holder) et ensuite il y aura celui de l’adapter. Mais a priori tu n’as pas d’autres choix pour ton ViewHolder il doit bien hériter de cette classe là et pas d’une autre

1 J'aime