mapFragment.getMap() gibt null zurück

Ich versuche, eine Karte von einem SupportMapFragment aber es gibt null zurück. Von was ich gelesen habe könnte dies sein, weil das fragment ist noch nicht vollständig angezeigt werden und deshalb keine Karte vorhanden ist?! Ich habe versucht Festsetzung es mit executePendingTransactions (), aber bisher ohne Erfolg.

Irgendwelche Ideen wie man es beheben?

Hier ist der code

private GoogleMap map;
private SupportMapFragment mapFragment;
@Override
public void onCreate( Bundle savedInstanceState ) {

    //...
    super.onCreate( savedInstanceState ); 
    setContentView( R.layout.screen_mission2 );
    GoogleMapOptions mapOptions = new GoogleMapOptions();

    mapOptions.mapType(GoogleMap.MAP_TYPE_NORMAL)
        .compassEnabled(true)
        .rotateGesturesEnabled(false)
        .tiltGesturesEnabled(false);

    android.support.v4.app.FragmentManager myFragmentManager = getSupportFragmentManager();
    android.support.v4.app.FragmentManager.enableDebugLogging(true);
    mapFragment = SupportMapFragment.newInstance(mapOptions);
    FragmentTransaction fragmentTransaction = myFragmentManager.beginTransaction();
    fragmentTransaction.add(R.id.mapFragment, mapFragment);
    fragmentTransaction.commit();
    myFragmentManager.executePendingTransactions();

    if(mapFragment == null) Base.log("mapFragment==null");
    if(map==null){
        map = mapFragment.getMap();
        Base.log("map should have been initialized");
        if(map==null) Base.log("map still null");
    }
}

Und die layout-Datei:

<fragment
    android:id="@+id/mapFragment"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Gibt es die folgenden log -

V/FragmentManager(24224): add: SupportMapFragment{4078c4b8 id=0x7f06003d}
V/FragmentManager(24224): Allocated fragment index SupportMapFragment{4078c4b8 #1 id=0x7f06003d}
V/FragmentManager(24224): moveto CREATED: SupportMapFragment{4078c4b8 #1 id=0x7f06003d}
D/EMR     (24224): map should have been initialized
D/EMR     (24224): map still null
Hier haben Sie erklärt den mapFragment variable?
Ja ich erklärte es(Herausgeber des code-Teil, siehe oben)
Wird es initialisiert? Sonst wird es die gleiche sein, wie nichts, d.h., null.
nicht mapFragment = SupportMapFragment.newInstance(mapOptions); kümmern? Zumindest wenn(mapFragment == null) Basis.log("mapFragment==null"); erscheint nicht im log

InformationsquelleAutor cos4 | 2013-07-21

Schreibe einen Kommentar