z Androidem niedawnej naciskiem na użyciu DialogFragment kontenerze nie wil trzeba zadzwonić odwołać w każdym
Ponieważ dialogi będą mieć pojemnik fragment może po prostu użyć ich cykl. Rozważmy następujący DialogFragment:
public class FragDialog extends DialogFragment{
public ProgressDialog _dialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
//this.dismiss(); <-- The dialogs may be dismissed here
}
}
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
_dialog = new ProgressDialog(getActivity());
return _dialog;
}
@Override
public void onPause() {
super.onPause();
// <--------- You may overload onPause
}
}
Który będzie można pokazać w swojej działalności za pomocą fragmentmanager zwykle nazywając go tak:
FragmentManager fm = getSupportFragmentManager();
FragDialog fragDialog = new FragDialog();
fragDialog.show(fm, "my_tag");
pamiętać, że może rzeczywiście zmienić to, co robi w OnPause DialogFragment. Gdy twoja aktywność dzwoni w trybie onPause, ta funkcja onPause również zostanie wywołana.
Odrzucenie okna dialogowego w trybie onPause() przy użyciu metody this.dismiss() nie spowoduje wykonania tej czynności, ponieważ po wznowieniu działania zostanie wznowione również okno dialogowe. (Myślę, że dzieje się tak dlatego, że save jest przechowywana przed onPause).
Ale można bezpiecznie odrzucić okna dialogowe w trybie onCreate, jeśli wykryje się zapisany stan rekordu (wznowienie), jak pokazano w kodzie.
zaktualizowałem odpowiedź – quinestor