2011-03-28 50 views
1

我有一個自定義的AlertDialog,用戶必須設置密碼。有兩個edittext視圖。 如果它們匹配並且它們長度超過3個字符,我會先比較它們。如果它們不匹配,我會顯示敬酒以提醒用戶。但提交併檢查對話框關閉後。我怎樣才能保持它打開,直到用戶插入正確的值?Keep AlertDialog的對話框界面打開

回答

3

我一直在尋找類似的東西,我無法找到一種方法來實現標準AlertDialog。

我發現的一種可能的方式是不在AlertDialog中指定任何按鈕偵聽器,而是使用您自己的自定義按鈕執行檢查,然後根據需要關閉對話框。我還沒有嘗試過,看看它是如何工作的。

另一種選擇是通過繼承Dialog創建自己的自定義對話框。

1

你必須設置像

boolean showAlert = true; 

一個全局變量並附加的onClick監聽到AlertDialog和cheking,看看是否有必要再次顯示警報之後。如果有需要,你應該再次展示它。如果用戶單擊AlertDialog中的按鈕,則不能保持打開狀態。你必須重新創建它。

+0

fyi:重新創建對話框不起作用。如果您在對話框的onClick內調用showDialog(),則會簡單地忽略它。 – WarrenFaith 2011-05-04 23:21:16

+0

@WarrenFaith通過重新創建我的意思是創建AlertDialog的新對象。 – vendor 2011-05-09 14:15:41

+0

我知道。我試圖尋找一種在調用showDialog()時創建對話框的新對象的方法。我只是使用dismissDialog()來解除它,但再次調用showDialog()不會創建對話框的新對象。我不得不使用removeDialog(),它刪除對話框的所有內部引用,以便showDialog()創建一個新對象。多數民衆贊成在所有我試圖說:) – WarrenFaith 2011-05-09 14:40:46