Heim >Java >javaLernprogramm >Wie rufe ich Android-Ressourcen nach Namen mit „getIdentifier()' ab?

Wie rufe ich Android-Ressourcen nach Namen mit „getIdentifier()' ab?

Barbara Streisand
Barbara StreisandOriginal
2024-12-21 16:56:14732Durchsuche

How to Retrieve Android Resources by Name Using `getIdentifier()`?

Ressourcenabruf nach Namen

Der Zugriff auf Ressourcen wie Strings oder Drawables über deren Namen statt über ihre ganzzahligen IDs bietet eine größere Flexibilität bei der Anwendungsentwicklung. Um dies zu erreichen, wird die Methode getIdentifier() aus der Klasse Resources verwendet.

Die Syntax für getIdentifier() lautet:

int getIdentifier(String name, String defType, String defPackage)

Wobei:

  • name ist der Name der Ressource, ohne das Präfix des Ressourcentyps (z. B. „myString“)
  • defType ist der Typ der Ressource, z. B. „drawable“ oder „string“
  • defPackage ist der Name des Pakets, in dem die Ressource definiert ist

Zum Beispiel, um die Drawable-Ressourcen-ID zu erhalten ein Bild mit dem Namen „my_image.png“:

int drawableResourceId = this.getResources().getIdentifier("my_image", "drawable", this.getPackageName());

Ähnlich, um die String-Ressourcen-ID für einen Wert mit dem Namen abzurufen "welcome_text":

int stringResourceId = this.getResources().getIdentifier("welcome_text", "string", this.getPackageName());

Beachten Sie, dass das Abrufen von Ressourcen-IDs auf diese Weise langsamer sein kann als die direkte Verwendung der Ganzzahl-IDs. Daher sollte es mit Bedacht verwendet werden, wenn der Ressourcenname dynamisch ist oder programmgesteuerten Zugriff erfordert.

Das obige ist der detaillierte Inhalt vonWie rufe ich Android-Ressourcen nach Namen mit „getIdentifier()' ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn