0

Gibt es hier jemanden, der einen Fragment-Container verwendet, um das MapFragment zur Laufzeit anzuzeigen?HERE SDK MapFragment-Implementierung mit Fragment-Container

Ich habe einige Probleme mit dieser Implementierung. Wenn ich das MapFragment durch ein anderes FragmentActivity ersetze und popbackstack es. Die Kartenansicht wird nicht angezeigt und ist schwarz.

Hier ist mein Plan:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/hello_world" 
     tools:context=".MainActivity" /> 

    <LinearLayout 
     android:id="@+id/main_frame_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"/> 

</LinearLayout> 

Code Meine Aktivitätsquelle:

public void onCreate(Bundle savedInstanceState) { 
..... 

final String MAP_TAG = "map_tag"; 
mapFragment = new MapFragment(); 
      getFragmentManager().beginTransaction().add(R.id.main_frame_layout, mapFragment, 
        MAP_TAG) 
        .commit(); 
.... 

setContentView(R.layout.activity_main); 

} 


@Override 
    protected void onPause() { 
     super.onPause(); 
     if(map != null) 
      mapFragment.onPause(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     if(map != null) 
      mapFragment.onResume(); 
    } 


    @Override 
    public void onBackPressed() { 
     Log.d("Test","onBackPressed"); 

     if(getFragmentManager().getBackStackEntryCount() == 0) { 
      Log.d("Test","pop back stack finish"); 
      finish(); 
     } else { 
      Log.d("Test","pop back stack"); 
      getFragmentManager().popBackStack(); 
     } 
     Log.d("Test","remaining in stack " + getFragmentManager().getBackStackEntryCount()); 

    } 

Antwort

0

Vielleicht ist die Karte leer ist, wenn Sie onResume() aufrufen? Oder hat das Fraumentor keine Größe? Im Allgemeinen zeigt der schwarze Bildschirm kein Layout an oder die Ansicht wurde nicht korrekt fortgesetzt.

@Override 
protected void onResume() { 
    super.onResume(); 
    if(map != null) 
     mapFragment.onResume(); 
} 
Verwandte Themen