Hallo zusammen,
ich habe da eine Anwendung mit TabGroups. In einer TabGroup befindet sich eine Map. Dabei benutze ich Maps v2.
Es funktioniert eigentlich vorest alles. Ich zentriere die Karte, zoome, zeichne Marker, usw.
Wenn ich nun auf einen Marker klicke, öffnet sich logischerweise ein InfoWindow. In diesem steht der Titel des Markers.
Nun implementiere ich in der "OnCreate" einen "setOnInfoWindowClickListener".
Hier der Code:
supportMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
// Toast.makeText(GuideMap.this, "Marker Id: "+marker.getId(), Toast.LENGTH_LONG).show();
Intent myIntent = new Intent(getParent(), ShowItemContent.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("ShowItemContent", myIntent);
}
});
Alles anzeigen
Ziel ist es, eine neue Activity zu starten, wenn man in das InfoWindow klickt.
Und das geschieht eben nicht. Vielmehr hängt sich die Anwendung auf. Das InfoWindow bleibt blau und ich kann nicht mehr tun.
Wenn ich dagegen nicht die Activity starte, sondern nur den auskommentierten "Toast" anzeigen lasse, dann wird dieser auch angezeigt. Die Funktion wird also aufgerufen und auch ausgeführt. Wenn ich nun den Intent wieder reinpacke, und zwar in der Reihenfolge "Toast" - Intent, dann friert die App wieder ein und es wird der Toast auch nicht mehr angezeigt, obwohl er vor dem Aufruf der Activity steht.
Wenn ich die neue Activity "direkt" starte (s. Code unten), dann fuktioniert es auch, aber die neue Activity startet eben nicht im Context, also nicht in der TabGroup und ich habe die Tabs nicht mehr zur Verfügung.
Hier der entsprechende Code:
supportMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent(GuideMap.this, ShowItemContent.class);
startActivity(intent);
}
});
Hat vielleicht jemand eine Idee, was ich falsch mache? Ob es eventuell garnicht geht, was ich bezweifle, bzw. ob es nicht so geht, wie ich es versuche?
Bin für jeden Vorschlag dankbar,
wasa