Wie ich die folgende Sache kenne.Zuweisen von resourceId zum Layout in Android
Eine Ressourcen-ID ist eine 32-Bit-Nummer der Form: PPTTNNNN. PP ist das Paket, für das die Ressource bestimmt ist; TT ist der Typ der Ressource; NNNN ist der Name der Ressource in diesem Typ. Für Anwendungsressourcen ist PP immer 0x7f.
Beispiel:
diese durch aapt behandelten Ressource-Dateien in dieser Reihenfolge:
layout/main.xml
drawable/icon.xml
layout/listitem.xml
Der erste Typ, den wir sehen, ist layout
so dass TT == 1
gegeben. Der erste Name unter diesem Typ ist "main", so dass NNNN == 1
gegeben ist. Die endgültige Ressourcen-ID lautet 0x7f010001
.
Als nächstes sehen wir drawable
, so dass TT == 2
gegeben ist. Der erste Name für diesen Typ ist "Symbol", so dass NNNN == 1
. Die endgültige Ressourcen-ID lautet 0x7f020001
.
Zuletzt sehen wir noch eine layout
, die wie zuvor TT == 1
hat. Dies hat einen neuen Namen listitem
, so dass der nächste Wert NNNN == 2
erhalten wird. Die endgültige Ressourcen-ID lautet 0x7f010002
.
Frage:
Aber Vor kurzem habe ich einen Teil der Layout-Datei sind assign ID von unten Art und Weise.
Java-Code
this.f5160k = (ImageView) findViewById(2131755224);
this.f5163n = findViewById(2131755219);
this.f5162m = (LinearLayout) findViewById(2131755223);
this.f5161l = (LinearLayout) findViewById(2131755220);
this.f5158i = (GridView) findViewById(2131755222);
Als erste Teil this.f5160k
ist Declartion wie ich weiß, aber was ist das Format 2131755224
. Kann jemand mir Anregungen oder Wissen geben. ?
Diese '2131755224' wird manuell generiert oder wir haben die' public.xml' Datei erstellt. – Ironman
Da der Wert fest codiert ist, müssen Sie public.xml verwenden. Auf diese Weise wird sich der Wert nicht ändern. R.java wird automatisch generiert und IDs ändern sich ständig (und es ist unmöglich, sie im Quellcode fest codieren zu lassen). In public.xml können Sie also die ID im Hexa-Format definieren und das Hexa- oder Dezimalformat in Java-Dateien verwenden ... Es gibt keinen Unterschied, da es sich um eine andere Darstellung handelt, die dieselbe Nummer (oder dieselbe ID in diesem Fall) hat. – W0rmH0le