comment lire la valeur de string.xml dans android?
J'ai écrit la ligne:
String Mess = R.string.mess_1 ;
pour obtenir la chaîne de valeur, mais au lieu de retourner une chaîne de caractères, c'est de me donner l'id de type integer. Comment puis-je obtenir sa chaîne de valeur? J'ai parlé de la chaîne de valeur dans le string.xml
fichier.
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Mise à JOUR
Vous pouvez utiliser
getString(int)
ougetText(int)
pour récupérer une chaîne de caractères.getText(int)
conservera toute riche de style du texte appliqué à la chaîne.Référence: https://developer.android.com/guide/topics/resources/string-resource.html
this.getString(R.string.some_id)
si vous êtes déjà dans uneContext
(Activité ou d'un Service).getResouces().getInteger(R.integer.my_value_in_xml)
De L'Activité:
Si pas en activité, mais ont accès au contexte:
this
pendant que vous êtes à l'Activité. SimplementgetString()
vous permettra de faire des choses.Je suis en utilisant ceci:
Resources.getSystem()
ne vous donne pas les ressources de l'application, mais seulement android. Il ne doit pas être utilisé pour des ressources commestring
. J'ai utilisé cette solution, et l'application s'est écrasé, en jetant unnotfoundexception
qui a du mal à comprendre (comme la ressource existe dansstrings.xml
).Par ailleurs, il est également possible de créer des tableaux de chaîne dans le strings.xml comme:
Et ensuite à partir de votre Activité, vous pouvez obtenir la référence de la sorte:
Seulement pour de futures références.
Dans le Ressources de chaîne de la documentation il dit:
Solution 1
Solution 2
Si vous souhaitez ajouter de la chaîne de valeur à un bouton par exemple, l'utilisation simple
Le texte défini dans strings.xml ressemble à ceci:
Vous devez référencer le nom de Contexte avant d'utiliser
getResources()
dans Android.OU
En fragments, vous pouvez utiliser
Vous pouvez utiliser ce code:
Si vous êtes dans une activité que vous pouvez utiliser
Si vous n'êtes pas dans une Activité
utilisez ceci :
**
**
Mise à jour
getString(R.string.some_string_id)
dans les deuxActivity
ouFragment
.Context.getString(R.string.some_string_id)
où vous n'avez pas un accès direct àgetString()
méthode. CommeDialog
.Problème est où vous n'avez pas
Context
accès, comme une méthode dans votreUtil
classe.Assumer la méthode ci-dessous sans Contexte.
Maintenant, vous allez passer
Context
comme un paramètre de cette méthode et l'utilisationgetString().
Ce que je fais est
Quoi? Il est très simple à utiliser n'importe où dans votre application!
Voici donc une Bonus unique solution par lequel vous pouvez accéder à des ressources à partir de n'importe où, comme
Util class
.Ajouter un nom de domaine pour votre
manifest.xml
<application
tag.Maintenant, vous êtes bon pour aller.
Détails
Tâche
L'étape 1. Application()
L'étape 2. Ajouter int extension
Utilisation
Résultats
getString(R. string.your_string) obtenir le résultat
si u écrire
R
. vous faites référence à l'R.java
classe créée par eclipse, utilisezgetResources().getString()
et passer leid
de 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);
String myString = getResources().getString(R.string.here_your_string_name);
Maintenant votre chaîne est copié dans myString. J'espère qu'il va travailler pour vous.