2012-06-09 22 views
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)。在調用此對話框之前,先前的對話框將被解除。

+0

刪除此行,告訴我們發生了什麼:'dialog.getWindow()的setLayout(450,280);' –

回答

0

我能夠通過使用AlertDialog

+3

對我來說,AlertDialog也可以駁回,如果你在它的區域之外觸摸它。 –

7

這項工作爲我解決我的問題:

dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
13

你可以使用getDialog()setCanceledOnTouchOutside(假);

0

請查看示例代碼

EditDialog newDialog = new EditDialog(); 
newDialog .setCancelable(false); ///This will prevent closing the dialog on back button press/ touch outside 
newDialog .show(getSupportFragmentManager(),"dialog"); 
相關問題