J'ai une activité en vue de la carte qui présente quelques OverlayItems
. Dans le onTap
d'une superposition, je veux déclencher une nouvelle activité qui montre cette photo superposée en plein écran, par exemple.
Quand je fais ça dans ma classe de superposition :
Intent intent = new Intent();
intent.setClass(getApplicationContext, FullscreenView.class);
startActivity(intent);
il ne peut pas trouver de contexte d'application, car je ne suis pas dans la portée d'une activité.
Lorsque j'ajoute une méthode à mon activité principale, par exemple startFullscreen
:
public static void startFullscreen() {
if (sCurrentPhoto != null) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), FullscreenView.class);
startActivity(intent);
}
}
Je ne peux pas appeler getApplicationContext()
y startActivity()
parce que je suis dans un contexte statique. J'ai cependant besoin de la méthode statique pour l'appeler dans la classe Overlay, par exemple MainView.startFullscreen()
.
En clair : Comment puis-je démarrer une activité à partir d'une classe sans activité ?