185 votes

Comment puis-je obtenir un contenu de ressource d’un contexte statique ?

J’ai envie de lire les chaînes à partir une du fichier avant de le faire grand-chose d’autre comme sur les widgets, alors comment puis-je faire sans objet l’activité d’appeler `` sur ?

399voto

Cristian Points 92147
  1. Créer une sous-classe de Application, par exemple, public class App extends Application {
  2. Définir l' android:name attribut de votre <application> balise dans l' AndroidManifest.xml pour pointer vers votre nouvelle classe, par exemple, android:name=".App"
  3. Dans l' onCreate() méthode de votre instance de l'application, enregistrez votre contexte (par exemple, this) pour un champ statique nommée app et de créer une méthode statique qui renvoie ce domaine, par exemple, getApp():

C'est comment il devrait ressembler à:

public class App extends Application{

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
    }

    public static Context getContext(){
        return mContext;
    }
}

Maintenant, vous pouvez utiliser: App.getContext() chaque fois que vous voulez obtenir d'un contexte, et alors getResources() (ou App.getContext().getResources()).

107voto

Gangnus Points 7646

Utilisation

Vous pouvez les utiliser partout dans votre application, même dans les déclarations de constantes statiques ! Mais pour les ressources système seulement !

0voto

user2684935 Points 181

Selon moi, est ainsi plus possible. Mais parfois, j’ai à l’aide de cette solution. (global complet) :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X