Ich benutze diese Vorlage https://github.com/kanytu/android-material-drawer-template nur um material design
auszuprobieren, also habe ich ein paar Fragmente implementiert einige haben Webviews einige nicht.ActionBarActivity zurück Button nicht aus backstack
Mein Problem ist, wenn zwischen den Fragmenten Schalt ich sehen kann, sie erfolgreich in die Backstack hinzugefügt werden
getFragmentManager().beginTransaction().replace(R.id.container, new FAQ()).addToBackStack("FAQ").commit();
Aber wenn ich die Zurück-Taste drücken Sie schließt nur die App.
Wenn ich es ändern, um Activity
statt ActionBarActivity
zu verwenden, funktioniert die Navigation gut, aber ich verliere etwas andere Funktionalität.
Es gibt eine Überschreibung auf der Rückseite Taste
@Override
public void onBackPressed() {
if (mNavigationDrawerFragment.isDrawerOpen())
mNavigationDrawerFragment.closeDrawer();
else
super.onBackPressed();
}
aber auch wenn das Löschungen geschieht es immer noch. Ich denke, das Problem liegt irgendwo in der super.onBackPressed
Gibt es einen Grund ActionBarActivity
würde die Schaltfläche zurück brechen?
Dies ist etwas frustrierendes Verhalten! Zumindest fühle ich es so. Es gibt keine Dokumentation über ein anderes Verhalten von ActionBarActivity im Vergleich zu Activity, und es sollte keine grundlegenden Elemente wie onBackPressed geben, oder? Wie sollten die Entwickler über diese Art von Dingen Bescheid wissen, außer dass sie stundenlange Ermittlungen auf nicht-offiziellen androiden Seiten/Blogs/Posts usw. vornehmen ...: -/@MathieuMaree Wenn Sie den Artikel finden könnten, über den Sie schreiben, wäre das grandios! – degill
@degill Ich habe gerade die Antwort aktualisiert, habe den Beitrag nicht gefunden, aber ich habe ihn wahrscheinlich in der offiziellen Dokumentation gefunden. Ich stimme zu, es ist komisch, aber ich denke, das vorherige Verhalten war ein "Fehler" und sie beschlossen, es in der "ActionBarActivity" zu beheben (ich vermute nur). – MathieuMaree
Lustige Sache ist, dass die tatsächliche Implementierung von onBackPressed in Activity tatsächlich den Backstack öffnet, während die Implementierung in ActionBarActivity die Aktivität beendet, aber die offizielle Dokumentation das Gegenteil besagt http://developer.android.com/reference/android/support/v7/ app/ActionBarActivity.html # onBackPressed() – degill