2011-03-22 56 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。尝试删除该行并检查行为。