2011-03-22 3 views
1

Попытка динамически изменить сообщение AlertDialog. По какой-то причине я получаю пустое диалоговое окно без сообщения.Показать сообщение в Alert Dialog

@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

+0

@siten Я бы хотел изменить текст диалогового окна Alert при каждом его открытии. Иногда это должен быть «привет мир», иногда «прощай мир». Я установил сообщение onPrepareDialog, но я получаю пустое диалоговое окно. – siamii

+0

Хорошо то же самое, что и в моем приложении, но я использую метод septate dialog .. n где hello word используется для вызова этого метода как наоборот ... – Siten

ответ

3

In onCreateDialog() do aboutDialog.setMessage (""); (или просто любое другое фиктивное сообщение). Если в диалоговом окне отсутствует сообщение при создании, вы не можете установить его позже.

0

В моей собственной реализации onPrepareDialog() Я не звоню super.onPrepareDialog. Попробуйте удалить эту строку и проверить поведение.