addToBackStack() funktioniert nicht

  • Antworten:3
  • Bentwortet
Jonas Liebschner
  • Forum-Beiträge: 9

22.01.2016, 17:21:52 via Website

Ich habe das Problem, dass bei mir die Methode addToBackStack() hat keine Wirkung. Wenn ich auf den Zurückknopf drücke schließt es die App, da ich nur Fragment benutze.

Hier mal noch der wichtige Code:

FragmentManager fm = getFragmentManager();
        transaction = fm.beginTransaction();
        transaction.add(R.id.Hauptlayout, fragment2,"fragment2");
        transaction.addToBackStack(null);
        transaction.commit();

später wird das Fragment dann durch ein anderes Fragment ersetzt (findet in der Fragmentklasse statt):

FragmentManager f =getActivity().getFragmentManager();
            transactio = f.beginTransaction();
            transactio.remove(f.findFragmentByTag("fragment2"));
            transactio.add(R.id.Hauptlayout, fragment1,"fragment1");
            transactio.addToBackStack(null);
            transactio.commit();

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.01.2016, 17:26:41 via App

Hallo Jonas!
Schau dir mal das an, dafür müsstest du onBackPressed überschreiben:
http://stackoverflow.com/a/17369359

— geändert am 22.01.2016, 17:27:45

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Jonas Liebschner
  • Forum-Beiträge: 9

22.01.2016, 17:40:54 via Website

Danke für die Antwort. Weißt du aber auch warum ? Oder besser gesagt, warum addToBackStack selber nicht funktioniert ?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.01.2016, 17:43:49 via App

Ja die Activity weiss ja nicht ob du den BackStack nutzen willst. Aber ist ja keine große Sache den PressedEvent zu überschreiben.
Zudem mach ich das aus prinzip bei Fragments immer, damit ich da zurück kann.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten