2014-06-05 7 views
0

Que signifie @string & @ + id?Que signifient @string & @ + id?

Et pourquoi nous ne pouvons pas utiliser une chaîne ("False") au lieu de false_button ci-dessous?

<Button 
     android:id="@+id/false_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/false_button" /> 

Merci.

+1

Une vieille réponse: http://stackoverflow.com/questions/5025910/difference-between-id-and-id-in-android – Superlandero

+0

http://developer.android.com/guide/topics/resources /accessing-resources.html – ILovemyPoncho

Répondre

1

Vous pouvez directement utiliser des chaînes.

android:text="False" 

Le @string signifie qu'il est une valeur stockée dans le fichier de strings.xml, avec le nom du paramètre false_button. Il est préférable de le faire pour les applications multilingues. Comme vous pouvez alors avoir plusieurs fichiers xml pour chaque langue, plutôt que de l'avoir codé en dur à "False".

Comme pour @+id, cela signifie de générer l'ID avec le nom de paramètre false_button dans une recherche d'ID. Par opposition à @id qui proviendrait d'une recherche d'identifiant déjà attribué. @+id est beaucoup mieux, plus rapide et plus facile à lire.

+1

En outre, l'utilisation du fichier de chaînes vous permet de modifier cette valeur plus facilement. Donc, si vous utilisez "Faux" partout et que vous voulez le changer en "Vrai" alors vous devez le changer partout si vous codez. Si vous utilisez le fichier string.xml, vous n'avez qu'à changer cette valeur en un point. – codeMagic