Dailog消失通知Activity做刷新操作(回调解决)

220 阅读1分钟

我们都知道Activity起Dialog,Dialog消失后Activity不执行任何生命周期,那么Dialog消失如何通知Activity呢?
1Dialog自带取消的监听(没管用)

ad.setOnCancelListener(new OnCancelListener() {
            @Override
            public void onCancel(final DialogInterface mDialogInterface) {
                
            }
        }); 

2自己写回调,通知Activity
1消失时调用

if(mNotifyCall != null){
                    mNotifyCall.notifyData();
                }

2Dialog中写回调方法

 private NotifyCall mNotifyCall;
    public interface NotifyCall {
        public void notifyData();
    };
    public void setNotifyCall(NotifyCall notifyCall){
        mNotifyCall = notifyCall;
    };

3Activity使用回调

Activity implements MyAlertDialog.NotifyCall

ad = new MyAlertDialog(CashHomeActivity.this);
        ad.setNotifyCall(this);
        
 @Override
    public void notifyData() {
        notiyOrder();
    }