@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
FragmentManager.BackStackEntry bSE = getSupportFragmentManager().getBackStackEntryAt(getSupportFragmentManager().getBackStackEntryCount() - 1);
Fragment frag = getSupportFragmentManager().findFragmentByTag(bSE.getName());
if (frag instanceof BackButtonBlocker)
{
BackButtonBlocker callback = (BackButtonBlocker) frag;
callback.onBackPressed();
}
else {
getSupportFragmentManager().popBackStack();
}
} else {
super.onBackPressed();
}
}
BackButtonBlocker-Schnittstelle ist für Rückruf. Mein Fragment implementiert BackButtonBlocker, aber manchmal tritt onBackPressed nicht auf (onKeyUp).Android-Aktivität onBackPressed nicht aufgerufen
wenn ich Navigationsschublade öffnen, onBackPressed und volle Logik funktioniert genau.
Warum sollte Aktivität den Fokus verlieren?
android.support.v4.app.Fragment
public interface BackButtonBlocker{ void onBackPressed();}
Ich habe Fragment unter Verwendung hinzugefügt ,, ersetzen ‚‘. – sofie
Ich brauche Rückruf in Fragment, wenn Zurück-Taste gedrückt wird. (z. B. zum Öffnen eines beliebigen Dialogs ..) – sofie