Maison >Java >javaDidacticiel >Comment récupérer des ressources Android par nom à l'aide de « getIdentifier() » ?

Comment récupérer des ressources Android par nom à l'aide de « getIdentifier() » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-21 16:56:14736parcourir

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

Récupération de ressources par nom

L'accès à des ressources telles que des chaînes ou des drawables en utilisant leurs noms plutôt que leurs identifiants entiers offre une plus grande flexibilité dans le développement d'applications. Pour y parvenir, la méthode getIdentifier() de la classe Resources est utilisée.

La syntaxe de getIdentifier() est :

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

Où :

  • name est le nom de la ressource, sans le préfixe du type de ressource (par exemple, "myString")
  • defType est le type de la ressource, comme "drawable" ou "string"
  • defPackage est le nom du package dans lequel la ressource est définie

Par exemple, pour obtenir l'ID de ressource Drawable pour une image nommée "my_image.png":

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

De même, pour obtenir l'ID de ressource String pour une valeur nommée "welcome_text":

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

Notez que l'obtention des ID de ressources de cette manière peut être plus lente que l'utilisation directe des ID entiers. Par conséquent, il doit être utilisé judicieusement lorsque le nom de la ressource est dynamique ou nécessite un accès par programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn