Première voie:Effet de Muliple @ + id vs simple @ + id dans la compilation du même fichier de mise en page
<Button
android:id="@+id/btnLogin"
style="@style/btnStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnFacebook"
android:layout_alignRight="@+id/btnFacebook"
android:layout_below="@id/etPassword"
android:layout_centerInParent="true"
android:onClick="goHome"
android:text="Login"/>
<Button
android:id="@+id/btnFacebook"
style="@style/btnFacebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textOR"
android:layout_marginTop="10dp"
android:onClick="facebookSignUp"
android:text=" Signup with Facebook "/>
<Button
android:id="@+id/btnGooglePlus"
style="@style/btnGoogle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnFacebook"
android:layout_alignRight="@+id/btnFacebook"
android:layout_below="@id/btnFacebook"/>
Deuxième voie:
<Button
android:id="@+id/btnLogin"
style="@style/btnStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnFacebook"
android:layout_alignRight="@id/btnFacebook"
android:layout_below="@id/etPassword"
android:layout_centerInParent="true"
android:onClick="goHome"
android:text="Login"/>
<Button
android:id="@id/btnFacebook"
style="@style/btnFacebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textOR"
android:layout_marginTop="10dp"
android:onClick="facebookSignUp"
android:text=" Signup with Facebook "/>
<Button
android:id="@+id/btnGooglePlus"
style="@style/btnGoogle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/btnFacebook"
android:layout_alignRight="@id/btnFacebook"
android:layout_below="@id/btnFacebook"/>
troisième voie:
<Button
android:id="@+id/btnLogin"
style="@style/btnStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/btnFacebook"
android:layout_alignRight="@id/btnFacebook"
android:layout_below="@id/etPassword"
android:layout_centerInParent="true"
android:onClick="goHome"
android:text="Login"/>
<Button
android:id="@+id/btnFacebook"
style="@style/btnFacebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textOR"
android:layout_marginTop="10dp"
android:onClick="facebookSignUp"
android:text=" Signup with Facebook "/>
<Button
android:id="@+id/btnGooglePlus"
style="@style/btnGoogle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/btnFacebook"
android:layout_alignRight="@id/btnFacebook"
android:layout_below="@id/btnFacebook"/>
Deux questions:
- sortie de trois façons de initialisant
btnFacebook
est le même. Comment?
- Étant donné que la sortie est identique, le résultat de la compilation XML Parser est le même. Alors, comment exactement l'initialisation des ressources est-elle faite et comment sont-ils attachés à ViewTree?
Toute documentation officielle avec explication est appréciée. Merci à l'avance :)
Oui, vous avez raison troisième cas donne une erreur de compilation. J'ai traversé ce lien, mais ce que je ne comprends pas, c'est comment fonctionne la première méthode. Parce que quand je fais quelque chose dans le fichier java comme R.id. La suggestion de saisie semi-automatique me donne plus d'une suggestion> btnFacebook, ce qui signifie qu'il y a plus d'une référence créée comme btnFacebook. Comment compilera-t-il et résoudra-t-il à l'exécution. Cela n'occupera-t-il pas plus de mémoire inutile? Merci à l'avance :) –
J'ai vérifié votre premier xml dans le studio Android 2.1 mais ne peut pas voir plusieurs btnFacebook. – Exigente05
Même si vous utilisez le même identifiant dans une mise en page différente, il se peut qu'il ne contienne pas d'option multiple, mais que l'ID soit dans la vue actuelle. Réf: - http://stackoverflow.com/questions/17825356/how-does-multiple-component-with-same-id-work-in-android – Exigente05