Есть ли простой способ изменить содержимое диалогового окна на Android без повторного создания диалогового окна? Я знаю, что Activity.onCreateDialog() вызывается только один раз, когда сначала нужно создать диалог, и именно здесь вы первоначально задаете содержимое диалогового окна. Мне нужно изменить содержимое диалогового окна позже, поэтому мне интересно, как правильно это сделать.
Измените содержимое диалогового окна Android после создания
Ответ 1
Метод onPrepareDialog()
вызывается непосредственно перед каждым отображением Dialog
позволяет вам соответствующим образом обновить его.
Он передал тот же идентификатор int
, что и onCreateDialog()
, и Dialog
, который вы создали в этом методе.
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
//Always call through to super implementation
super.onPrepareDialog(id, dialog);
switch (id) {
case DIALOG_TIME:
((AlertDialog)dialog).setMessage("The time is " + new Date());
break;
}
}
Ответ 2
выше не работает для меня. вызов removeDialog
работал без отклонения AlertDialog