diff options
| author | Dianne Hackborn <hackbod@google.com> | 2011-01-25 14:54:29 -0800 |
|---|---|---|
| committer | Dianne Hackborn <hackbod@google.com> | 2011-01-25 14:54:29 -0800 |
| commit | f812fee071b9992872009b2dcd7969c7ce882a90 (patch) | |
| tree | 896079d9c1d5df64844186d218b547a607123e16 /core/java/android/app/DialogFragment.java | |
| parent | 7187ccb93ee8adbb745fcbb901cfacfeed397a23 (diff) | |
Argh forget to include my final part of the change.
Change-Id: I1e2711e1ecde0350047f1edef9a59947ff5749eb
Diffstat (limited to 'core/java/android/app/DialogFragment.java')
| -rw-r--r-- | core/java/android/app/DialogFragment.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/app/DialogFragment.java b/core/java/android/app/DialogFragment.java index 8bdd086eb466..50953d72e24f 100644 --- a/core/java/android/app/DialogFragment.java +++ b/core/java/android/app/DialogFragment.java @@ -378,6 +378,12 @@ public class DialogFragment extends Fragment * default implementation simply instantiates and returns a {@link Dialog} * class. * + * <p><em>Note: DialogFragment own the {@link Dialog#setOnCancelListener + * Dialog.setOnCancelListener} and {@link Dialog#setOnDismissListener + * Dialog.setOnDismissListener} callbacks. You must not set them yourself.</em> + * To find out about these events, override {@link #onCancel(DialogInterface)} + * and {@link #onDismiss(DialogInterface)}.</p> + * * @param savedInstanceState The last saved instance state of the Fragment, * or null if this is a freshly created Fragment. * @@ -417,8 +423,10 @@ public class DialogFragment extends Fragment } mDialog.setOwnerActivity(getActivity()); mDialog.setCancelable(mCancelable); - mDialog.setOnCancelListener(this); - mDialog.setOnDismissListener(this); + if (!mDialog.takeCancelAndDismissListeners("DialogFragment", this, this)) { + throw new IllegalStateException( + "You can not set Dialog's OnCancelListener or OnDismissListener"); + } if (savedInstanceState != null) { Bundle dialogState = savedInstanceState.getBundle(SAVED_DIALOG_STATE_TAG); if (dialogState != null) { |
