2017-11-13 3 views
0

Ich habe dieses Problem: Nach der Bildschirmausrichtung versuche ich Layer, die ich zuvor in onDestroy() entfernt habe, (wieder) hinzuzufügen. Wenn ich nach einem Layer in mapBoxMap.getLayer(String id) suche, bekomme ich null, auch wenn ich gerade diese Ebene vor der Karte hinzugefügt habe. Protokolle zeigen nichts Verdächtiges.Wenn die Aktivität neu erstellt wird, hat das Hinzufügen des Layers keinen Effekt

+0

Schicht wird als Teil des Hosting-Aktivität Lebenszyklus zerstört. Sie sollten nicht über Aktivitätsinstanzen hinweg beibehalten werden. – Tobrun

+0

Vielen Dank für Ihr Feedback. Wenn "Activity" in einem 'Fragment' (genauer gesagt, ich benutze [Conductor] (https://github.com/bluelinelabs/Conductor) '' Controller') neu erstellt werde.) Ich erstelle neue Ebenen mit die gleichen IDs, die ich vor "Activity" hinzugefügt habe, wurden zerstört. Ich verstehe nicht, warum Layer (hinzugefügt ** nach ** Aktivität wurde neu erstellt) nicht verfügbar sind. – Ubu

+0

Verwenden Sie die mapboxMap-Instanz erneut? Wenn ja, ist dies auch an das Lifecyle gebunden, also sollte es nicht wiederverwendet werden. Wie stellst du deine Style URL ein? (wenn möglich, mach das so schnell wie möglich, zB xml attrs, mapView # setStyleUrl oder MapboxMapOptions. – Tobrun

Antwort

0

Fügen Sie diese auf das Manifest, in dem ".MainActivity" der Name Aktivität ist,

<activity android:name=".MainActivity" 
       android:configChanges="orientation|screenSize" 
      /> 
Verwandte Themen