Android – IllegalStateException: Karte hat null Größe

Ich bin ein Anfänger Android Programmierer.

Lass mich einen Kontext geben.
Mein Projekt verwendet ActionBarSherlock.

  • Was steht für DetState.VERIFYING_POOR_LINK
  • Android: Wie man die Flip-Animation für Android-Aktivität zu machen, wie wie iPhone Flip horizontal von links nach rechts?
  • Wie installiere ich ButterKnife Plugin in Android Studio?
  • Android: Zurück zum vorherigen Fragment auf Back-Press
  • Wie bekomme ich Openfire Chat Geschichte auf Android Gerät mit aSmack?
  • Proguard mit Autovalue
    1. Ich habe eine Aktivität (Activity1), die zwei Fragmente enthält – ein SherlockListFragment und ein SherlockFragment mit einem Google Map Map Map (im Wesentlichen ein MapFragment).
    2. Die Suchergebnisse werden im Listenfragment und im Kartenfragment angezeigt, und eine Aktionsleistenoptionsschaltfläche schaltet das aktuell angezeigte Fragment zwischen der Liste und der Karte um.
    3. Wenn Sie einen Eintrag in der Liste auswählen oder die Karte der Suchergebnisse eine neue Aktivität (Activity2) anzeigt, die Daten aus dem ausgewählten Element anzeigt.
    4. Diese neue Aktivität hat einen ähnlichen Fluss: ein Fragment, um die Daten zu zeigen, und ein Kartenfragment, um einen Standort anzuzeigen, der durch eine Aktionsleistenoptionsschaltfläche umgeschaltet wird.

    Das Problem:

    1. Ich kann ein Listenelement in den Suchergebnissen (Activity1) auswählen Fragment und die Detailseite (Activity2) wird erfolgreich gestartet.
    2. Wenn ich ein Kartenelement aus dem Karten-Overlay in (Activity1) auswähle, stürzt die App ab und ich bekomme den unten aufgeführten Stacktrace.

    Was ich bisher versucht habe:

    1. Ich habe nach "Karte hat null Größe" und viele Permutationen der gleichen Suche einschließlich "android" und "illegalstateexception" und verschiedene Zeilen der stacktrace und ich habe Ergebnisse untersucht, die nicht einmal beziehen sich auf Android, sondern beziehen sich auf die Google Maps Apis im Allgemeinen, und ich habe nicht in der Lage, irgendetwas oder irgendjemand irgendwo zu finden, wer diesen Fehler gesehen hat, außer bei dieser URL http://www.androidpub.com/1551654 Aber ich weiß nicht, koreanisch und Google übersetzen War nicht viel hilfe
    2. Ich habe versucht, einige Snippets des Quellcodes zu finden, um zu sehen, was los ist, aber das hat nichts gemacht.
    3. Ich habe Protokolle in meinem Code hinzugefügt, um zu versuchen, festzustellen, wo die Ausnahme auftritt, und alles, was ich in der Lage zu finden war, dass es irgendwann nach (Activity2) die Details Aktivität beginnt, das heißt, nachdem onCreate () aufgerufen wird . Und sowohl die Details Fragment und Karte Fragment haben Stand wurde erfolgreich instanziiert innerhalb onCreate (). Ich habe nicht in der Lage, einen Platz in meinem Code zu finden, um sogar die Ausnahme zu fangen. Also für alles, was ich sehen kann, scheint diese Ausnahme ganz ein Fehler in google MapView Code zu sein, aber wenn ich irgendwo einen Fehler gemacht habe, dann zeig es doch. Ich bin offen für jeden, der mir sagen kann, was hier los ist.

    Also, zusammenfassend. Der Absturz tritt auf, wenn man von einer Aktivität (Aktivität1) mit einer derzeit dargestellten Mapview zu einer anderen Aktivität (Activity2) führt, die auch ein Fragment mit einer anderen Kartenansicht beherbergt. Aber der Absturz tritt nicht auf, wenn man aus dem Listenfragment geht, das in (Activity1) zur anderen Aktivität (Activity2) mit einem anderen Kartenfragment zeigt.

    Ich hoffe das ist genug Detail. Wenn Sie irgendwelche Fragen haben, kommentieren Sie bitte bitte.

    D/memalloc( 121): /dev/pmem: Allocated buffer base:0x4215c000 size:2088960 offset:4177920 fd:66 D/memalloc(30944): /dev/pmem: Mapped buffer base:0x5b4f5000 size:6266880 offset:4177920 fd:164 D/AndroidRuntime(30944): Shutting down VM W/dalvikvm(30944): threadid=1: thread exiting with uncaught exception (group=0x40aaa228) E/AndroidRuntime(30944): FATAL EXCEPTION: main E/AndroidRuntime(30944): java.lang.IllegalStateException: Map has zero size E/AndroidRuntime(30944): at android_maps_conflict_avoidance.com.google.googlenav.map.Map.drawMap(Map.java:818) E/AndroidRuntime(30944): at com.google.android.maps.MapView.drawMap(MapView.java:1091) E/AndroidRuntime(30944): at com.google.android.maps.MapView.onDraw(MapView.java:522) E/AndroidRuntime(30944): at android.view.View.draw(View.java:11071) E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10462) E/AndroidRuntime(30944): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605) E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10425) E/AndroidRuntime(30944): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605) E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10425) E/AndroidRuntime(30944): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605) E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10425) E/AndroidRuntime(30944): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605) E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10425) E/AndroidRuntime(30944): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605) E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10425) E/AndroidRuntime(30944): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:879) E/AndroidRuntime(30944): at android.view.ViewRootImpl.draw(ViewRootImpl.java:1948) E/AndroidRuntime(30944): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1654) E/AndroidRuntime(30944): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2498) E/AndroidRuntime(30944): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(30944): at android.os.Looper.loop(Looper.java:154) E/AndroidRuntime(30944): at android.app.ActivityThread.main(ActivityThread.java:4894) E/AndroidRuntime(30944): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(30944): at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime(30944): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) E/AndroidRuntime(30944): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) E/AndroidRuntime(30944): at dalvik.system.NativeStart.main(Native Method) E/EmbeddedLogger( 254): App crashed! Process: com.myapp.android E/EmbeddedLogger( 254): App crashed! Package: com.myapp.android v5 (2.0) E/EmbeddedLogger( 254): Application Label: myapp W/ActivityManager( 254): Force finishing activity com.myapp.android/.activity.InfoActivity W/ActivityManager( 254): Force finishing activity com.myapp.android/.activity.SearchActivity 

  • Bild zum Toast hinzufügen
  • Holen Sie sich Freund-Liste facebook 3.0
  • CardView hat beim Aufblasen die Marge verloren
  • Android- PhoneGap / WebView ignoriert Viewport-Meta-Tags?
  • Einrichten eines Android-Benachrichtigungssymbols auf eine entfernte URL
  • Android aufrufen von JavaScript-Funktionen in WebView
  • 2 Solutions collect form web for “Android – IllegalStateException: Karte hat null Größe”

    An diesem Punkt in meiner Erfahrung, die einzige Möglichkeit, diesen Fehler zu vermeiden, ist nicht zu verwenden MapViews in Fragments. Wenn du ein MapView umgibst, indem du Animation oder Manipulation mit seiner Position machst, sobald es einer Elternansicht hinzugefügt wurde, hat mir immer Probleme verursacht. Der effektivste Weg, den ich gefunden habe, ist, zwischen einer Karte und einer anderen Ansicht zu wechseln, wo die MapActivity das MapView verwaltet und ein Fragment die andere Ansicht verwaltet. Ich habe das gleiche Feature wiederhergestellt, und das hat ohne Probleme gearbeitet. Allerdings würde ich beobachten, dass dies ein Workaround für ein Problem mit einer unbekannten Ursache (sehr wahrscheinlich ein Bug in der Android Maps API) ist.

    Ich bin absolut nicht einverstanden mit Adams! Verwalten von Fragmenten und Aktivitäten ist die beste Praxis überhaupt.

    Es ist ganz anders, und manchmal ist es noch schwieriger, etwas zu erarbeiten, aber das Verwalten eines Kartenfragments als Fragment selbst oder innerhalb eines anderen Fragments, das von mehreren Aktivitäten verwendet werden soll, ist das Beste, was man tun kann, wenn man Karten in mehrere Ansichten aufnehmen möchte Deiner app

    Also, auf den Punkt zu gehen, da du keinen Code gepostet hast, denke ich, dass du eine Kamera animierst, um die Grenzen zurückzusetzen oder einfach nur ein erstes Zentrum für deine Karte einzurichten. (Höchstwahrscheinlich erste, seitdem sie Ergebnisse zeigen)

    Und in diesem Fall wäre die Ausnahme in der map.animateCamera(...) Linie, weil Sie mit etwas, das verfügbar ist, aber es ist noch nicht aufgeblasen zu tun.

    Probier diese:

     try{ cu = CameraUpdateFactory.newLatLngBounds(yourBoundaries,yourPadding); map.animateCamera(cu); System.out.println("Set with padding"); } catch(IllegalStateException e) { e.printStackTrace(); cu = CameraUpdateFactory.newLatLngBounds(yourBoundaries,someWidth,someHeight,zeroPadding); map.animateCamera(cu); System.out.println("Set with whp"); } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.