4

我有一个自定义对话框,当您在对话框外部单击时会关闭,这是我不想要的。拥有dialog.setCanceledOnTouchOutside(false);并不能解决问题。我究竟做错了什么?

dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(false);
dialog.setContentView(R.layout.twitter_dialog);
// set up edit text and other widgets
dialog.getWindow().setLayout(450, 280);
dialog.show();

编辑:我从另一个具有 setCanceledOnTouchOutside(true) 的对话框中调用此对话框。在调用此对话框之前,前一个对话框被关闭。

4

4 回答 4

14

你可以使用 getDialog().setCanceledOnTouchOutside(false);

于 2013-08-21T11:58:36.973 回答
8

这对我有用:

dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
于 2013-03-08T05:04:20.460 回答
1

我能够通过使用 AlertDialog 解决我的问题

于 2012-06-11T19:22:53.117 回答
0

请检查示例代码

EditDialog newDialog = new EditDialog();
newDialog .setCancelable(false);   ///This will prevent closing the dialog on back button press/ touch outside
newDialog .show(getSupportFragmentManager(),"dialog");
于 2017-05-04T07:22:10.500 回答