Показать сообщение в диалоге оповещений

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");
}
}

Как я могу динамически изменять содержимое диалогового окна Alert?

  • 0
    объясни что именно хочешь ...?
  • 0
    @siten Я хотел бы изменить текст Alert Dialog каждый раз, когда он открывается. Иногда это должен быть «привет мир», иногда «прощай мир». Я установил сообщение OnPrepareDialog, но я получаю пустое диалоговое окно ..
Показать ещё 1 комментарий
Теги:
message
dialog

2 ответа

3
Лучший ответ

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

0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню