Ich habe die folgenden in einem relativen Layout.(ID-Referenz nicht gefunden) Keine Ressource entspricht dem angegebenen Namen um
<TextEdit
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/buttonA"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@id/buttonA" />
<Button
android:id="@+id/buttonA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/message" >
</Button>
Eklipse gibt mir diese Fehler in den Zeilen android: layout_alignBottom = "@ id/buttonA" und android: layout_toLeftOf = "@ id/buttonA" jeweils:
Fehler: Fehler: Keine Ressource gefunden, dass Streichhölzer der angegebene Name (bei 'layout_alignBottom' mit dem Wert '@ id/buttonA').
Fehler: Fehler: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt (bei 'layout_toLeftOf' mit dem Wert '@ id/buttonA').
Durch Ersetzen von @ id/buttonA durch @ + id/buttonA wird diese Eclipse-Fehlermeldung entfernt. Ist das richtig? Wenn ja, warum sollte das dann funktionieren? Erzeugt @@ id keine neue ID? Ich möchte keine neue ID. Ich möchte den im Button-Objekt referenzierten verwenden. Was ist der beste Weg, damit umzugehen?
Danke Jungs. -Joe
Ja, ich werde nur tun. Vielen Dank. – J50
Ich werde sie tauschen, damit die ID-Referenzen gut aussehen. Vielen Dank. Warum sollte @ + id funktionieren? Ich versuche nicht, eine neue ID-Ressource zu erstellen, sondern referenziere stattdessen eine später definierte. – J50
@ J50: Genau weil es später definiert wird, an dem Punkt, an dem Sie versuchen es zu benutzen, ist es noch nicht definiert. Und deshalb arbeiten wir mit @ + id, weil es die Definition einer solchen ID erzwingt. –