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 ?
Réponses
Trop de publicités?À 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.
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
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.
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.
- Réponses précédentes
- Plus de réponses