Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CustomDialogFragment extends DialogFragment {
- private DialogInterface.OnDismissListener mOnDismissListener;
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- // can use databinding is better if need to bind event or content
- return inflater.inflate(R.layout.fragment_simple_dialog, container, false);
- }
- // ------ My apologize don't do this as Fragment require callback to clean the state and it will override anyway ------
- @NonNull
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- // Dialog dialog = super.onCreateDialog(savedInstanceState);
- // dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
- // @Override
- // public void onDismiss(DialogInterface dialog) {
- // if (mOnDismissListener != null) {
- // mOnDismissListener.onDismiss(dialog);
- // }
- // }
- // });
- // return dialog;
- return super.onCreateDialog(savedInstanceState);
- }
- // ----- do this instead -----
- @Override
- public void onDismiss(DialogInterface dialog) {
- super.onDismiss(dialog);
- // can call "getActivity().finish();" directly but I afraid it can cause a problem
- if (mOnDismissListener != null) {
- mOnDismissListener.onDismiss(dialog);
- }
- }
- public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener){
- mOnDismissListener = onDismissListener;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement