J'ai écrit la ligne:
String Mess = R.string.mess_1 ;
pour obtenir une valeur de chaîne, mais au lieu de renvoyer une chaîne, cela me donne un identifiant de type entier. Comment puis-je obtenir sa valeur de chaîne? J'ai mentionné la valeur de chaîne dans le string.xml
fichier.
this.getString(R.string.some_id)
si vous êtes déjà dans uneContext
(activité ou service).getResouces().getInteger(R.integer.my_value_in_xml)
En activité:
S'il n'est pas en activité mais a accès au contexte:
la source
this
lorsque vous êtes en activité.getString()
Vous laissera simplement faire les choses.J'utilise ceci:
la source
Resources.getSystem()
ne vous donne pas les ressources de l'application, mais uniquement celles d'Android. Il ne doit pas être utilisé pour des ressources commestring
. J'ai utilisé cette solution et l'application s'est bloquée, lançant unnotfoundexception
qui était difficile à comprendre (car la ressource existe enstrings.xml
).Soit dit en passant, il est également possible de créer des tableaux de chaînes dans le fichier strings.xml comme ceci:
Et puis à partir de votre activité, vous pouvez obtenir la référence comme suit:
la source
Uniquement pour les références futures.
Dans la documentation des ressources String, il est indiqué:
la source
Solution 1
Solution 2
la source
En fragments, vous pouvez utiliser
la source
Si vous souhaitez ajouter la valeur de chaîne à un bouton par exemple, utilisez simplement
Le texte défini dans strings.xml ressemble à ceci:
la source
Vous devez référencer le nom du contexte avant de l'utiliser
getResources()
dans Android.OU
la source
Vous pouvez utiliser ce code:
la source
Si vous êtes dans une activité, vous pouvez utiliser
Si vous n'êtes pas dans une activité, utilisez ceci:
la source
Détails
Tâche
Étape 1. Application ()
Étape 2. Ajouter une extension int
Usage
Résultats
la source
pendant que tu écris
R
. vous faites référence à laR.java
classe créée par eclipse, utilisezgetResources().getString()
et transmettezid
la ressource à partir de laquelle vous essayez de lire à l'intérieur de lagetString()
méthode.Exemple :
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
la source
**
**
la source
Mise à jour
getString(R.string.some_string_id)
à la foisActivity
ouFragment
.Context.getString(R.string.some_string_id)
là où vous n'avez pas d'accès direct à lagetString()
méthode. CommeDialog
.Le problème est où vous n'avez pas
Context
accès , comme une méthode dans votreUtil
classe.Supposons la méthode ci-dessous sans contexte.
Vous allez maintenant passer
Context
comme paramètre dans cette méthode et utilisergetString().
Ce que je fais c'est
Quelle? Il est très simple à utiliser n'importe où dans votre application!
Voici donc une solution unique en bonus grâce à laquelle vous pouvez accéder aux ressources de n'importe où
Util class
.Ajoutez un champ de nom à votre
manifest.xml
<application
balise.Vous êtes maintenant prêt à partir.
la source
getString (R.string.your_string) obtenir le résultat
la source
String myString = getResources().getString(R.string.here_your_string_name);
Maintenant, votre chaîne est copiée dans myString. J'espère que cela fonctionnera pour vous.
la source
Vous pouvez lire directement la valeur définie dans strings.xml:
et mis dans une variable:
mais nous pouvons définir la chaîne dans la vue:
la source