2010-11-27 9 views
12

Ich habe viel von der Android-Dokumentation gelesen und habe noch keine Aussage gefunden, die sagt, was ein ID-Wert-Präfix von "@ + id" bedeutet. Ich weiß, was "@string" und Variationen davon bedeuten, aber nicht die Variation mit dem "+". Kannst du mir neben der Antwort auch zeigen, wo in den Android-Dokumenten dies dokumentiert ist?Was bedeutet "@ + ID"?

Antwort

39

Das Pluszeichen zeigt einfach an, dass die ID erstellt werden soll, wenn sie nicht existiert.

Es ist gängige Praxis, @+id/foo zu verwenden, wenn eine neue Ansicht in einem Layout definieren und dann @id/foo verwenden, um die Ansicht aus einem anderen Teil des Layouts (sagt sie, in einer RelativeLayout Hierarchie) oder R.id.foo verweisen sie von Code zu verweisen.


UPDATE: Docs sind hier: Declaring Layout - Attributes - ID

3

Das für die Verknüpfung ein Android-XML-Layout-Element in Ihre Java-Code die Syntax ist. Wenn ich Text in einem TextView anzeigen möchte, muss ich dies tun.

Schritt eins - definiert das Layout

<TextView 
android:id="@+id/SaveResult" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="SaveResult" 
android:layout_x="16px" 
android:layout_y="190px" 
> 
</TextView> 

Dann, im Code verwenden I @ + id um das Layout der Variablen zu verknüpfen. Stellen Sie sich die @ + ID als Fremdschlüssel in einer Datenbank vor.

TextView lblSaveResult = (TextView)findViewById(R.id.SaveResult); 

Jetzt ist es einsatzbereit. Wenn ich Text zuweisen, verwendet es den @ + id, um zu sehen, wo es zu setzen, und auch die Farbe, Größe, etc ..

lblSaveResult.setText("This text is now on the screen"); 

Sorry, aber ich weiß nicht, wo die Dokumentation hierfür ist, ...

1

Das at-Zeichen (@) ist erforderlich, wenn Sie auf ein beliebiges Ressourcenobjekt aus XML verweisen. Es folgt der Ressourcentyp (id in diesem Fall).

Das Pluszeichen (+) vor dem Ressourcentyp wird nur benötigt, wenn Sie eine Ressourcen-ID zum ersten Mal definieren. Wenn Sie die App kompilieren, verwenden die SDK-Tools den ID-Namen zum Erstellen einer neuen Ressourcen-ID in der gen/R.java-Datei Ihres Projekts, die auf das UI-Element verweist. Wenn die Ressourcen-ID einmal auf diese Weise deklariert wurde, benötigen andere Referenzen auf die ID kein Pluszeichen. Das Verwenden des Pluszeichens ist nur erforderlich, wenn Sie eine neue Ressourcen-ID angeben und nicht für konkrete Ressourcen wie Strings oder Layouts benötigt werden.

0

Das Pluszeichen zeigt an, dass Sie eine neue ID erstellen, die nicht existiert. zB "@ + id/xyz". Wenn Sie "@ id/xyz" schreiben, bedeutet dies, dass Sie auf die Ansicht von einem anderen Teil des Layouts verweisen.