La méthode getString(int) n'est pas défini pour le type d'Applications
Comment puis-je corriger cette erreur. Tous les trois chaînes sur le fond obtiens l'erreur suivante "la méthode getString(int) n'est pas défini pour le type d'Applications". S'il vous plaît aider, im tel un noob.
package com.actionbarsherlock.sample.fragments;
import android.content.Context;
import android.content.res.Resources;
public final class Apps {
/**
* Our data, part 1.
*/
public static final String[] TITLES =
{
"title1",
"title2",
"title3"
};
/**
* Our data, part 2.
*/
public static final String[] DIALOGUE = {
getString(R.string.text1),
getString(R.string.string2),
getString(R.string.string3)
};
}
- Vous essayez d'appeler un non-existant méthode. Il n'y a vraiment pas beaucoup que nous pouvons faire pour vous aider à le fixer sans savoir ce que vous essayez de faire.
- Êtes-vous un sens à étendre quelque chose? Qu'essayez-vous à la sous-classe?
- la personne m'aidant de ce dit "getString est à partir de l'activité de la classe, de sorte que votre classe doit hériter de l'activité, ou vous avez besoin d'appeler getString à partir d'une classe déjà hérite de l'activité."
- Ce que j'essaie de faire est d'appeler ces trois chaînes qu'ils détiennent valeur de texte
Vous devez vous connecter pour publier un commentaire.
Première
getString
n'est pas une méthode statique, vous pouvez l'appeler dans un contexte statique, ça ne peut pas être fait.Deuxième la
getString
méthode fait partie de laResources
classe, votre classe n'a pas d'étendre leResources
classe afin que la méthode ne peut pas être trouvé.Je pense que l'analyse d'un exemple de la
Resources
classe à votreApps
classe à l'aide de son constructeur serait votre meilleure option.Quelque chose comme ceci:
passer une instance de
Context context
et ensuite utiliser
ici
context
appartient à votre activité actuelle.Créer une sous-classe de la Demande, par exemple public class Application extends Application {
Jeu android:attribut name de la balise dans le AndroidManifest.xml pour pointer vers votre nouvelle classe, par exemple android:name=".App"
Dans le onCreate() la méthode de votre instance de l'application, enregistrez votre contexte (par exemple) à un champ statique nommé mContext et de créer une méthode statique qui renvoie ce domaine, par exemple getContext():
C'est comment il devrait ressembler à:
Maintenant, vous pouvez utiliser: App.getContext().getString()