2 votes

Comment puis-je accéder à getResources() et à Context en dehors de la classe Activity ?

Je sais que cette question est générale, mais je suis toujours confronté à ce problème. Ma question est de savoir si je peux atteindre getResource() o getContext() en Activity mais lorsque je veux utiliser une classe sans activité exemple : public class MapOverlay extends ItemizedOverlay

Je ne peux pas atteindre getResources() o Context .

Comment faire ? Quelqu'un connaît-il une astuce ?

1voto

Ash Points 971

Je procède généralement de la manière suivante :

  • Créer une classe qui étend Application dire MyApp .
  • Déclarer un private static Context context champ
  • Déclarez un getter (statique) pour l'élément context champ
  • Initialiser le champ dans onCreate(): context = this

Le contexte est désormais disponible dans toutes les applications via MyApp.context()

0voto

LuxuryMode Points 11381

Il suffit d'exposer une méthode publique à l'intérieur de votre MapOverlay qui prend un Contexte.

  public void setContext(Context context) {
        mContext = context;
}

0voto

Natali Points 1765

ItemizedOverlay ne s'étend pas android.content.Context .

Vous pouvez créer la construction comme

private Context mContext;    
public MapOverlay(Context context){
this.mContext=context;
}

et utiliser ensuite le mContext pour appeler getResource() o getContext() des méthodes.

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