setOnInfoWindowClickListener

  • 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:



    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:


    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

  • Hast du irgendwelche Log-Ausgaben oder Crashes?
    Falls nicht, dann wird dir wohl nur der Schritt über den Debugger bleiben.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hi Lucas,


    danke für deine Antwort, aber das Problem ist, dass die App wegen der Maps v2 nicht im Emulator läuft (App crasht bei Aufruf der Map). Deshalb teste ich sie immer auf meinem Smartphone.
    Hab dieses zwar auch per USB am Rechner angeschlossen, auch den USB-Debug Modus eingeschaltet und wähle es auch bei Eclipse aus, aber der Debugger zeigt in dem Fall keinen Fehler an.


    Die App crasht ja auch nicht, sondern friert ein und irgendwann erscheint der Dialog "Die Anwendung reagiert nicht. Möchten Sie sie schliessen? Warten - OK"


    ich weiss, dass es ohne jegliche Infos schwierig ist, was rauszubekommen (deshalb bin ich ja auch ratlos). Ich dachte vielmehr daran, ob jemand hier die selben, bzw. ähnliche Erfahrungen gemacht hat und mir helfen könnte.


    Gruß,


    wasa

  • Natürlich musst du in dem Fall einen Breakpoint setzen, am Besten bei der parentActivity.startChildActivity.
    Wenn du an dem Punkt angelangt bist, dann wartet der Debugger auf dich und du kannst dich schrittweise durchhangeln.


    Ich habe damit noch keine Erfahrungen gemacht, aber Das Internet™ spricht von vielerlei Problemen.
    Da du einen StackOverflow Post zu dem Thema 1:1 übernommen hast ging ich davon aus, dass du die bekannten Quellen genutzt hast ohne zu einer Lösung zu kommen.


    Insofern wird wohl erst einmal nur das Debugging hilfreich sein können.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Lucas, du hast was gut bei mir.


    Aus irgendeinem Grund scheint das InfoWindow alles zu blockieren und der Aufruf muss tatsächlich in einem zweiten Thread zu erfolgen.
    Habs mit dem Handler-Vorschlag aus dem Post versucht und es hat direkt geklappt.
    Für den Fall, dass jemand das gleiche Problem haben sollte, hier der Code:



    Vielen Dank,


    wasa

  • Anderer Thread, obwohl das ne UI Sache ist?
    Na meinetwegen, Hauptsache es klappt. :)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!