Maison  >  Article  >  Java  >  Comment accéder aux ressources de chaîne à partir d’un contexte statique sous Android ?

Comment accéder aux ressources de chaîne à partir d’un contexte statique sous Android ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-12 00:31:03317parcourir

How to Access String Resources from a Static Context in Android?

Accès au contenu des ressources à partir d'un contexte statique

Dans certains scénarios, il est nécessaire d'accéder aux ressources de chaîne à partir d'un fichier XML avant de créer des widgets ou effectuer toute initialisation significative. Cependant, sans instance active d'une activité, la méthode traditionnelle d'appel de getResources() sur un objet Activity devient indisponible.

Solution

Pour résoudre ce problème, le les étapes suivantes peuvent être suivies :

  1. Créer une sous-classe d'application : Définir une sous-classe qui s'étend Une application, telle que la classe publique App extends Application {.
  2. Définir le nom de l'application dans le manifeste : Dans le fichier AndroidManifest.xml, définissez l'attribut android:name de l'attribut balise pour référencer la nouvelle classe, par exemple : android:name=".App".
  3. Enregistrer le contexte et créer une méthode statique : Dans la méthode onCreate() de la classe d'application, enregistrez le contexte à un champ statique appelé mContext et créez une méthode statique nommée getContext() qui renvoie ce champ. Cela apparaîtrait comme :
public class App extends Application{

    private static Context mContext;

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

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

Usage

Maintenant, vous pouvez accéder au contexte en utilisant App.getContext() et obtenir ensuite le contenu de la ressource via getResources() (ou App.getContext().getResources()). Cette approche vous permet d'accéder aux ressources de chaîne à partir d'un contexte statique, indépendant d'un objet Activity actif.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn