Das automatische Hochzählen unter Android (Das automatische Hochzählen unter Android), Lektion, Seite 724152
https://www.purl.org/stefan_ram/pub/autoinc_android (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Android-Entwicklung

Kennzahlenressourcen unter Android 

Zeichenfolgenressourcen

Wir hatten bereits die Attributspezifikation »android:text="@string/hello"« mit dem Attributwert »"@string/hello"« gesehen. Darin ist »string« ein Ressourcentyp  und »hello« ein Ressourcenname. Der Ressourcentyp »string« ist der Ressourcentyp von Zeichenfolgen.

Eine Zeichenfolgenressource (in XML )
@string/hello

In dieser Lektion stellen wir den Ressourcentyp »id« für Kennzahlen  (Kennzahlressourcen) vor.

Neue Kennzahlen

Definieren der Kennzahl »abc«
@+id/abc

Wenn in der main.xml-Datei der Attributwert »"@+id/abc"« zum ersten Mal vorkommt, wird bei der Interpretation jener Datei eine neue Kennzahl generiert.

Hier ist »abc« nur ein Beispiel, statt dessen kann auch ein anderer Bezeichner verwendet werden.

Auf die beschriebene Weise können Namen (wie »abc« oder »xyz«) Kennzahlen zugeordnet werden, ohne daß in der XML-Datei eine bestimmte Kennzahl als Numerale festgelegt werden muß. Die automatische Festlegung hilft dabei, eine doppelte Vergabe derselben Kennzahl für verschiedene Namen zu vermeiden.

Bezüge auf vorhandene Kennzahlen in XML 

Eine einmal mit »+« generierte Kennzahl kann dann später innerhalb von XML-Dateien ohne »+« angegeben werden.

Ein Bezug auf die Kennzahl »abc«
@id/abc

Aber auch wenn in »main.xml« später noch einmal der Attributwert »"@+id/abc"« vorkommt, wird keine  neue Kennzahl erzeugt, sondern die schon früher für den Namen »abc« festgelegte Kennzahl verwendet.

Das android:id-Attribut einer Sichtfläche

In einer XML-Datei kann ein Textfeld spezifiziert werden, für dessen Kennzahl der Name »TextView0« festgelegt wird.

main.xml
  <TextView android:layout_width="fill_parent"
android:id="@+id/TextView0"
android:layout_height="wrap_content"
android:text="@string/text0" />

Bezüge auf vorhandene Kennzahlen in Java 

In Java -Quelldateien kann »R.id.abc« für jene Kennzahl für dem Namen »abc« verwendet werden.

Wenn in der main.xml-Datei der Attributwert »"@+id/xyz"« zum ersten Mal vorkommt, könnte ihm beispielsweise der Wert »7« gegeben werden. Spätere Verwendungen von »"@+id/xyz"« oder »"@id/xyz"« stehen dann ebenfalls für jenen Wert »7« und im Java-Quelltext hat der Ausdruck »R.id.xyz« den Wert »7«.

In einer Java -Quelldatei kann dann nach entsprechender Vorbereitung mit »findViewById« eine Referenz auf dieses Textfeld erhalten werden.

Main.java
    final android.widget.TextView textView =
( android.widget.TextView )
MainActivity.this.activity.findViewById( R.id.TextView0 );

Der Rückgabetyp von »findViewById« ist ein Obertyp  des Typs eines Textfelds. So kann jene Methode auch noch Referenzen auf andere Arten  von Sichtflächen zurückgeben. Dadurch ist aber nun ein informierter Downcast  nötig, bevor eine Zuweisung an eine Variable vom Typ »TextView« erfolgen kann.

Die Datei »R.java«

Die Datei »R.java« wird vom SDK (von aapt) automatisch angelegt und enthält die Definitionen der Ressourcennamen (wie »R.id.TextView0«) für Java.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724152 stefan_ram:724152 Das automatische Hochzählen unter Android Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724152, slrprddef724152, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/autoinc_android