à l'aide d'une ressource de chaîne dans un Toast
Mon code est:
public static void ToastMemoryShort (Context context) {
CharSequence text = getString(R.string.toast_memoryshort); //error here
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
return;
}
mais je suis "Ne peut pas faire une référence statique pour les non-statique méthode getString(int) à partir du type de Contexte" dans Eclipse. Je suis en train de me préparer pour la localisation de mon application (l'obtention de toutes les chaînes codées en dur dans les ressources), donc où j'ai:
getString(R.string.toast_memoryshort)
J'ai déjà eu une codés en dur chaîne qui était beau.
Je ne suis pas sûr de ce qu'il se passe ici (Java noob). Quelqu'un peut-il m'éclairer s'il vous plaît?
Merci beaucoup
Baz
OriginalL'auteur Barry | 2011-09-07
Vous devez vous connecter pour publier un commentaire.
Juste utiliser ce lieu:
De http://developer.android.com/reference/android/widget/Toast.html
En fait, c'était une combinaison de votre réponse et de Rasel: Besoin de l' .spectacle sur la fin, n'a pas besoin de Rasel ""+ avant de l'ID de la ressource: pain grillé.makeText(contexte, R. string.toast_memoryshort, du pain grillé.LENGTH_LONG).show(); donc +1 pour Rasel trop. Merci beaucoup.
ouais, bien sûr .show() est nécessaire 🙂
OriginalL'auteur Stefan H Singer
Changement de
getString
, en premier lieu, suggère que la chaîne elle-même a été nécessaire pour une raison quelconque (var injection, formatage, etc). De Plus, il fait résout l'exception en question, qui est une valeur authentique.OriginalL'auteur Rasel
Vous pourriez faire votre toast plus générique comme ceci:
Puis il suffit d'appeler quand vous en avez besoin comme ceci:
ou en se référant à strings.xml comme ceci:
OriginalL'auteur Víctor García
Vous devriez changer
pour:
La
getString
fonction est implémentée dans Contexte#getString(int)OriginalL'auteur JoseF