2010-01-13 4 views
43

Le document dit "@ [+] id/myid" comme la définition pour android: id, de la notation, il indique que le plus est facultatif. Mais nulle part je ne peux trouver une définition de ce que le signe plus signifie ou ne pas fournir.android: id quel est le signe plus pour

Qu'est-ce que cela signifie et pourquoi est-ce là?

Répondre

27

@ + id/foo signifie que vous êtes créer un id nommé foo dans l'espace de noms de votre application. Vous pouvez vous y référer en utilisant @ id/foo. @android: id/foo signifie que vous faites référence à un identifiant défini dans l'espace de noms android. Cet espace de noms est l'espace de nom du framework. Dans ce cas, vous devez utiliser @android: id/list et @android: id/empty car ils sont l'ID que le framework s'attend à trouver (le framework ne connait que les ids dans l'espace de noms android.)

Extrait de l'une des discussions "Android Developer | Google Groups".

20

The documentation dit,

Le plus-symbole (+) signifie que c'est un nouveau nom de la ressource qui doit être créée et ajoutée à nos ressources (en le fichier R.java). Il y a un certain nombre d'autres ressources d'identification qui sont offertes par le cadre d'Android. Lorsque référence à un ID de ressource Android, vous n'avez pas besoin du plus-symbole, mais devez ajouter l'espace de noms package android , comme ceci:

android:id="@android:id/empty" 
Questions connexes