Refresh fragment when dialogfragment is dismissed

前端 未结 6 1931
南方客
南方客 2021-02-04 01:01

Is there any way I can detect when a DialogFragment is dismissed, so that i can update its parent fragment?

6条回答
  •  耶瑟儿~
    2021-02-04 01:34

    You can add a listener and override the onDismiss of your fragment dialog :

    public class DismissDialog extends DialogFragment {
        private DialogInterface.OnDismissListener onDismissListener;
    
        public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
            this.onDismissListener = onDismissListener;
        }
    
        @Override
        public void onDismiss(DialogInterface dialog) {
            super.onDismiss(dialog);
            if (onDismissListener != null) {
                onDismissListener.onDismiss(dialog);
            }
       }
    }
    

    Then, on the parent, you set a listener :

    DismissDialog d = new DismissDialog();
    d.setOnDismissListener(new DialogInterface.OnDismissListener() {
            @Override
            public void onDismiss(DialogInterface dialog) {
    
            }
        });
    d.show(getSupportFragmentManager(), "sometag");
    

提交回复
热议问题