Also habe ich eine DialogFragment Anzeige Bereich Auswahlliste. Sobald der Benutzer auf den Bereich klickt, ruft die Liste die Daten erneut auf, um die Auswahlliste für die Straße anzuzeigen. An dieser Stelle möchte ich dem Benutzer erlauben, die Hardware-Zurück-Taste zu drücken, um zur Bereichsauswahl zurückzukehren. Ist das möglich? Ich habe versucht, ein paar Methoden unten zu überschreiben, aber ich kann nur auf das Ereignis tippen, aber nicht verhindern, dass es passiert.Die beste Methode, um das Zurückverhalten von DialogFragment zu behandeln?
@Override
public void onCancel(DialogInterface dialog) {
if(isDismissable()){
super.onCancel(dialog);
}else {
Log.d(TAG, "Don't dismiss cancel this dialog!");
}
}
@Override
public void dismissAllowingStateLoss() {
if(isDismissable()){
super.dismissAllowingStateLoss();
}else {
Log.d(TAG, "Don't dismiss this dialog!");
}
}
@Override
public void dismiss() {
if(isDismissable()){
super.dismiss();
}else {
Log.d(TAG, "Don't dismiss this dialog!");
}
}
dismiss()
erhalten, wenn Benutzer drücken Zurück-Taste genannt, aber selbst wenn ich Dialog nicht super.dismiss()
nennen, unabhängig entlassen bekommen.
Gibt es eine Möglichkeit, dies zu tun? Ich schaue auch, wie App zeigt ActionBar
in der DialogFragment zu HomeAsUp
bereitstellen, aber ich kann keine Informationen darüber finden.
Beide Lösungen sind nicht nett ... 1. Funktioniert nicht, wenn Sie in verschachtelten Fragmenten arbeiten, 2. Wird ein neues Dialogfeld starten, so dass Sie keine schönen Übergänge/Animationen machen können, wenn sich der Inhalt ändert. – Ixx