對於自定義AlertDialog,我可以覆蓋肯定按鈕以不關閉對話框嗎?相反,我想運行一些編輯檢查,並保持對話框打開,如果我的檢查失敗。AlertDialog - 我如何在用戶點擊「確定」時運行檢查
protected Dialog onCreateDialog(int id) {
Dialog alertDialog = null;
builder = new AlertDialog.Builder(this);
switch(id) {
case LOGIN_USERID_BLANK:
builder.setMessage((String)getString(R.string.username_not_blank));
builder.setPositiveButton((String)getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Can I do something here so that the dialog does not close?
}
});
break;
雖然這個建議可能有效,但我不認爲這是AlertDialog的預期用途。在那個時候,我不確定AlertDialog比通用定製對話提供了什麼好處,並且可能會混淆未來的代碼維護者。 –
@glenviewjeff:我同意這是一種黑客行爲,它確實需要在代碼中給出一個很好的評論。另外請注意,沒有其他人提出任何更好的建議,而我的建議實際上完成了要求。還有一點你可能缺少的是,「內置」對話框按鈕在偵聽器運行後自動關閉對話框,因此它們不適合所請求的行爲。你有沒有實現過一個通用的定製對話框?如果是的話 - 你能否分享一下代碼(我從來沒有這樣做過,所以看到一個樣本很有趣)。 –
我推遲現在驗證數據,直到我可以用自定義對話框正確地完成它。我希望他們在未來的Android API的內置對話框中解決這個缺點。當我解決這個問題時,我會嘗試發佈一些內容。 –