3 votes

L'utilisation de l'attribut Android:onClick présente-t-elle des inconvénients ?

Laquelle de ces méthodes est la meilleure pour l'implémentation des méthodes onClick : - Utilisation de l'attribut Android:onClick dans le xml - Implémentation et définition de onClickListener ?

6voto

Cristian Points 92147

À mon avis, la définition de la mise en œuvre et de la définition de la OnClickListener est bien meilleure. La raison principale est qu'il est plus facile pour les autres de comprendre le fonctionnement du code.

Lorsque vous lisez le code d'une application Android, vous lisez les fichiers .java (90 % du temps) pour comprendre comment elle fonctionne ; vous ignorez la plupart des présentations XML qui ne vous indiquent pas comment l'application fonctionne réellement ni quel est son objectif.

Ainsi, si vous utilisez l'option android:onClick vous obligerez les autres (et vous-même) à regarder les deux côtés de la médaille : les présentations XML et les sources Java pour comprendre le flux et l'intention de votre application, ce qui n'est pas agréable.

Notez qu'il s'agit d'une question de lisibilité ; d'un point de vue technique, il ne devrait pas y avoir de différence de performance.

4voto

Vivek Points 2064

Il est expliqué plus en détail sur le lien suivant en utilisant Android:onClick est meilleur que onClickListener Il est difficile à comprendre pour les autres, mais il est bon et présente plusieurs avantages.
http://Android-developers.blogspot.com/2009/10/ui-framework-changes-in-Android-16.html

1voto

HaMMeReD Points 1364

Si vous utilisez onClick dans votre XML, cela facilite la tâche de vos concepteurs et des personnes chargées de l'interface utilisateur, si vous le mettez dans votre code, cela facilite la tâche de vos programmeurs qui savent qu'il s'agit d'un XML.

0voto

schwiz Points 13679

Je préfère utiliser Android:onClick parce que cela rend le code Java plus propre à mes yeux plutôt que d'avoir un tas d'instructions switch et d'appels findViewById. Cependant, si vous oubliez d'implémenter la fonction pour Android:onClick, cela provoquera une fermeture forcée lorsque la vue sera touchée.

0voto

Ian G. Clifton Points 4648

Si votre minSdkVersion est 4 (1.6) ou plus, utilisez Android:onClick. Votre code sera plus propre et plus facile à lire. Si votre minSdkVersion est inférieure à 4 (par exemple, 3 qui est 1.5), faites no utiliser l'attribut onClick car il sera ignoré.

L'attribut onClick utilise la réflexion pour créer un OnClickListener qui est défini sur la vue et utilise la réflexion pour invoquer votre méthode. Pour la grande majorité des applications, cela convient et ne posera jamais de problème, mais cela vaut la peine d'être pris en compte pour les applications gourmandes en ressources processeur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X