2016-06-19 9 views
0

Ich habe zwei Bildschirme in meiner App, sagen wir Bildschirm A und Bildschirm B. Bitte lesen Sie meinen Code unten.Zurück vorherigen Bildschirm funktioniert nicht

Bildschirm A -> Bildschirm B:

EditProfileFragment contactFragment = new EditProfileFragment(); 
      android.app.FragmentTransaction contactTransaction = getActivity().getFragmentManager().beginTransaction(); 
      contactTransaction.add(R.id.fragment_container, contactFragment, GlobalVariable.MyPROFILE_EDIT_FRAGMENT); 
      contactTransaction.addToBackStack(null); 

      contactTransaction.commit(); 

nach dem Datensatz gespeichert, mag ich zum vorherigen Bildschirm B zurückzukehren -> A:

getFragmentManager().popBackStackImmediate(); 

Aber es funktioniert nicht. Nichts anderes passiert. Ich habe ein paar Stunden gegoogelt, aber ich kann immer noch keine Lösung finden.

+0

ich Ihnen vorschlagen Verwenden des FragmentsDelegate-Musters. Und das Ersetzen/PopBackStack von einer Aktivität –

Antwort

1

Wenn ich nicht falsch liege, versuchen Sie, das vorherige Fragment zurückzugeben. Also, warum Sie nicht nur verwenden:

getFragmentManager().popBackStack(); 

ich bearbeiten Code: (Benutzer SupportFragment und SupportFragmentManager)

EditProfileFragment contactFragment = new EditProfileFragment(); 
      FragmentTransaction contactTransaction = getActivity().getSupportFragmentManager().beginTransaction(); 
      contactTransaction.replace(R.id.fragment_container, contactFragment, GlobalVariable.MyPROFILE_EDIT_FRAGMENT); 
      contactTransaction.addToBackStack(null); 
      contactTransaction.commit(); 

Und verwenden, wenn Sie Datensatz speichern:

getSupportFragmentManager().popBackStack(); 
+0

Ja, versuchen Sie es auch. Funktioniert nicht – user998405

+0

Hallo danke funktioniert jetzt. Aber warum funktioniert contactTransaction.add nicht? – user998405

+0

nur ein bisschen seltsam, warum .add funktioniert nicht. aber ist ok . Ich akzeptiere deine Antwort. Vielen Dank – user998405

Verwandte Themen