Ich habe eine Kartenansicht, die einige zeigt OverlayItems
. Bei der onTap
Methode einer Überlagerung möchte ich eine neue Aktivität auslösen, die dieses Überlagerungsfoto beispielsweise als Vollbild anzeigt.
Wenn ich das in meiner Overlay-Klasse mache:
Intent intent = new Intent();
intent.setClass(getApplicationContext, FullscreenView.class);
startActivity(intent);
.. es kann keinen Anwendungskontext finden, da ich nicht im Rahmen einer Aktivität bin.
Wenn ich meiner Hauptaktivität eine Methode hinzufüge, sagen wir startFullscreen
:
public static void startFullscreen() {
if (sCurrentPhoto != null) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), FullscreenView.class);
startActivity(intent);
}
}
Ich kann nicht anrufen getApplicationContext()
und startActivity()
, weil ich mich in einem statischen Kontext befinde. Ich brauche die statische Methode jedoch, um sie in der Overlay-Klasse wie aufzurufen MainView.startFullscreen()
.
Einfach ausgedrückt: Wie kann ich eine Aktivität von einer Nicht-Aktivitätsklasse aus starten?