我有一个自定义对话框,当您在对话框外单击时,该对话框会消失,这是我不想要的。 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)的对话框调用此对话框。在调用此对话框之前,前一个对话框将被取消。
答案 0 :(得分:13)
你可以使用getDialog()。setCanceledOnTouchOutside(false);
答案 1 :(得分:7)
这项工作对我来说:
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
答案 2 :(得分:0)
我能够通过使用AlertDialog
来解决我的问题答案 3 :(得分:0)
请检查示例代码
EditDialog newDialog = new EditDialog();
newDialog .setCancelable(false); ///This will prevent closing the dialog on back button press/ touch outside
newDialog .show(getSupportFragmentManager(),"dialog");