我创建AlertDialog,设置setOnCanceledOnTouchOutsidesetCancelable参数,但单击“外部”对话框,它将隐藏。也许有人能帮我?

dialog = new AlertDialog.Builder(getContext()).setView(table).setTitle(R.string.order_start_title)
.setNegativeButton(R.string.dialog_cancel, new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int whichButton) {
        onOrderStartCancel(context);
    }
}).setPositiveButton(R.string.dialog_start_order, new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int whichButton) {
        onOrderStart(context, goodsTypeId, goodType);
    }
}).create();
dialog.setCanceledOnTouchOutside(true);
dialog.setCancelable(true);
dialog.show();

最佳答案

如果不允许用户取消对话框,则
使用

dialog.setCancelable(false);
                     ^^^^^

而不是
dialog.setCancelable(true);

同时删除此dialog.setCanceledOnTouchOutside(true); <---
如果不需要的话。

10-06 06:19