Accès au contenu des ressources sans contexte d'activité
Si vous devez accéder au contenu des ressources avant l'initialisation de l'activité, vous pouvez rencontrer un défi car les activités fournissent la méthode getResources(). Voici comment contourner cette limitation :
Créer une sous-classe d'application :
Étendez la classe Application pour créer une classe d'application personnalisée. Par exemple :
public class App extends Application {}
Définir la référence AndroidManifest :
Dans AndroidManifest.xml, définissez l'attribut android:name de l'<application android:name=".App" ...>
...
</application></p>
</li>
<li>
<p><strong>Contexte statique et méthode de récupération :</strong></p>
<p>Dans la méthode onCreate() de votre classe d'application, enregistrez le contexte à un champ statique et créez une méthode statique pour le renvoyer. Par exemple :</p>
<pre class="brush:php;toolbar:false">public class App extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = this;
}
public static Context getContext() {
return mContext;
}
}
Accès aux ressources :
Vous pouvez désormais obtenir le contexte et les ressources en utilisant :
Context context = App.getContext(); Resources resources = context.getResources();
Cette méthode vous permet d'accéder au contenu des ressources à partir de contextes statiques où les objets d'activité peuvent ne pas être disponibles.
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!