2010-12-16 3 views
0

У меня есть диалоговое окно, в котором отображается информация о списке, когда выполняется длинный клик. Информация зависит от того, какая запись списка нажата. Тем не менее, я замечаю, что, когда я просматриваю информацию и закрываю ее (Via вызывает ее с помощью команды dialog.cancel()), следующий раз, когда я открываю диалог, он не удосуживается снова получить информацию, он просто появляется в том же диалоговом окне, что и раньше. Какие-нибудь советы по преодолению этой проблемы? Благодаря!Как я могу гарантировать, что Диалог будет переформирован после отмены?

Дополнительная информация. Диалог создается с помощью команды showDialog (int). Оттуда он вызывается через команду onCreateDialog (int) в мастер-активности.

EDIT: Мне удалось заставить это работать, используя команду removeDialog (int) в onClickListener диалогового окна (он просто удаляет себя, когда он умирает). Я не могу для жизни меня найти более элегантное решение, но я бы предпочел его. Спасибо, парни!

Редактировать: NM, понял, что ответ уже размещен здесь ... Еще раз спасибо!

ответ

2

Мы могли бы использовать дополнительную информацию, но вы используете onPrepareDialog(int id, Dialog dialog) или onPrepareDialog(int id, Dialog dialog, Bundle args)?

Вы должны позволить действию обрабатывать создание и отображение диалоговых окон. onPrepareDialog обеспечит правильное отображение диалогового окна перед его отображением пользователю.

+0

Я не использую ни одну из команд opPrepareDialog(). Нужно ли мне? – PearsonArtPhoto 2010-12-16 17:34:42

0

Вам необходимо повторно запустить процедуру, которая заселяла диалог в первую очередь.

+0

Я использую команду showDialog (int), чтобы отобразить диалог. Однако, насколько я могу судить, он просто использует версию, уже сохраненную в памяти ... – PearsonArtPhoto 2010-12-16 17:08:02