1. 程式人生 > >dialog點選對話方塊之外的區域禁止取消,點選返回按鈕取消對話方塊的同時關閉當前activity

dialog點選對話方塊之外的區域禁止取消,點選返回按鈕取消對話方塊的同時關閉當前activity

private void showIsLoadDraftDialog(final EPrescriptionVO ePrescriptionVO){
        AlertDialog.Builder builder = new AlertDialog.Builder(this)
                .setMessage("剛才的草稿還沒提交,要繼續開方嗎?")
                .setPositiveButton("繼續開方",new DialogInterface.OnClickListener(){
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                })
                .setNegativeButton("重新開方",new DialogInterface.OnClickListener(){
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
        //點選返回按鈕取消dialog同時直接關閉當前activity
        builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) {
                ElectronPrescriptionActivity.this.finish();
            }
        });
        AlertDialog dialog = builder.create();
        //點選dialog之外的區域禁止取消dialog
        dialog.setCanceledOnTouchOutside(false);
        dialog.show();
    }