2011-03-22 102 views
1

嘗試動態更改AlertDialog的消息。出於某種原因,我得到一個沒有消息的空白對話框。在警報對話框中顯示消息

@Override 
protected Dialog onCreateDialog(int dialogId, Bundle args) { 
switch (dialogId) { 
case ABOUT_DIALOG: 
    AlertDialog.Builder aboutDialog = new AlertDialog.Builder(this); 
    return aboutDialog.create(); 
} 
} 
@Override 
protected void onPrepareDialog(int dialogId, Dialog dialog, Bundle args){ 
super.onPrepareDialog(dialogId, dialog, args); 
switch(dialogId){ 
case ABOUT_DIALOG: 
    AlertDialog aboutDialog = (AlertDialog) dialog; 
    aboutDialog.setMessage("hello world"); 
} 
} 

如何動態更改警報對話框的內容?

+0

解釋你到底想要什麼......? – Siten 2011-03-22 11:04:53

+0

@siten我想在每次打開時更改警報對話框的文本。有時它應該是「你好世界」,有時候是「再見世界」。我設置消息onPrepareDialog,但我得到一個空白的對話框.. – siamii 2011-03-22 11:12:32

+0

好的同樣的事情我適用於我的應用程序,但我採取隔離對話框的方法..ñ你好,單詞是使用調用該方法,反之亦然... – Siten 2011-03-22 11:24:29

回答

3

in onCreateDialog()do aboutDialog.setMessage(「」); (或者其他任何虛擬消息)。 如果創建時對話框中缺少消息,則以後無法設置。

0

在我自己的執行onPrepareDialog()我不打電話super.onPrepareDialog。嘗試刪除該行並檢查行爲。