Ok Leute, ich habe endlich eine gute Lösung gefunden.
In Ihrem onCreate() in Ihrer Aktivität Gehäuse Ihre Fragmente fügen Sie einen Backstack ändern Listener wie folgt:
fragmentManager.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
List<Fragment> f = fragmentManager.getFragments();
//List<Fragment> f only returns one value
Fragment frag = f.get(0);
currentFragment = frag.getClass().getSimpleName();
}
});
(Auch das Hinzufügen meiner fragmenManager ist in den Aktivitäten deklariert O Nun wird jedes Mal, wenn Sie das Fragment wechseln, der aktuelle Fragment String zum Namen des aktuellen Fragments. Dann in den Aktivitäten onBackPressed() können Sie die Aktionen der Schaltfläche "Zurück" wie folgt steuern:
@Override
public void onBackPressed() {
switch (currentFragment) {
case "FragmentOne":
// your code here
return;
case "FragmentTwo":
// your code here
return;
default:
fragmentManager.popBackStack();
// default action for any other fragment (return to previous)
}
}
Ich kann bestätigen, dass diese Methode bei mir funktioniert.