0

enter image description hereMap Fragment mit Fragmente Einstellung Überlappungen

Ich habe google map auf meinem Bildschirm und ich mag offen SETTING Seite in Navigationsleiste mit einem Einstellknopf. aber Sie können sehen, dass es Überschneidungen gibt. Auch wenn ich die Zurück-Taste gedrückt habe, anstatt die Karte zu sichern, wird die App beendet. komm nicht zurück zum Hauptbildschirm.

Ich bin mit docs Codes:

public static class SettingsFragment extends PreferenceFragment { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Load the preferences from an XML resource 
     addPreferencesFromResource(R.xml.preferences); 
    } 
    ... 
} 

in einem Button-Code Klick-Listener ist in meiner Aktivität

// Display the fragment as the main content. 
    getFragmentManager().beginTransaction() 
      .replace(android.R.id.content, new SettingsFragment()) 
      .commit(); 

auch dies ist das Fragment der Karte

@Override 

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main);  

     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(map); 
     mapFragment.getMapAsync(this); 

docs sagt:

Wenn Sie für Android 3.0 (API Level 11) und höher entwickeln, sollten Sie ein PreferenceFragment verwenden, um Ihre Liste der Preference Objekte anzuzeigen. Sie können jeder Aktivität ein PreferenceFragment hinzufügen. Sie müssen PreferenceActivity verwenden.

so möchte ich mit dem Fragment verwenden Einstellung ich nicht mit Aktivität Fragment ändern möchten

[gelöst]

nach Keerthivasan hilft. das Ergebnis dieser Code ist und ordnungsgemäß funktioniert

getFragmentManager().beginTransaction() 
        .replace(android.R.id.content, new SettingsFragment()) 
        .addToBackStack("map") //new added 
        .commit(); 

auch in PreferenceFragment hinzugefügt

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = super.onCreateView(inflater, container, savedInstanceState); 
     view.setBackgroundColor(Color.WHITE); 

     return view; 
    } 
+0

Die Aussagen, die Sie erklärt haben, ist überhaupt nicht klar ... Vielleicht sollten Sie zurückgehen und Ihre Erklärung bearbeiten – Stallion

+0

Einfach, es gibt 2 Probleme. Einer von ihnen habe ich ein Kartenfragment und ich möchte ein offenes SETTING-Fragment darauf haben. aber es schaut auf screentshoot (Überlappungen). Auch im Einstellungsbildschirm, wenn ich zurück drücke, Programm beenden. aber es sollte zum Kartenbildschirm gehen – mehmet

Antwort

2

Das Problem ist, hinzugefügt Fragment Hintergrund als transparent, so eingestellt Hintergrund Fragment Layout nehmen. Es wird das Problem lösen :-) Official Docs Für Back Stack Manager .. Sie können N - Anzahl von Beispielen in Stackoverflow selbst finden.

+0

Danke, was soll ich für Rücken drücken. Jetzt ist es spannend, aber ich möchte Kartenbildschirm zurückgehen – mehmet

+0

BackStack Manger BackPress verwenden .. So http://stackoverflow.com/a/14530879/5423894 – Keerthivasan

Verwandte Themen