2015-05-25 7 views
0

У меня есть AlertDialog.Builder в фрагменте1, и если я не нажимаю на него (чтобы удалить его), он остается, даже когда вызывается другой фрагмент.
Как я могу уволить его? нет метода увольнения!
Развернуть диалоговое построитель перед перемещением фрагмента

+0

* Нет способа увольнения! *, Где? – Blackbelt

+0

Существует метод dialogInterface.dismiss() – Ruocco

+0

В отличие от сайтов на форуме, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -Удалена-от-сообщений). –

ответ

1

AlertDialog.Builder Используется для создания фактического диалога с использованием AlertDialog.Builder.html#show. Вы должны сохранить выход из этого метода в переменной и использовать его, чтобы закрыть диалоговое окно позже, если это необходимо:

builder = new AlertDialog.Builder(); 
... 
AlertDialog dialog = builder.show(); 
... 
dialog.dismiss(); //or dialog.cancel() which will also call your OnCancelListener 
0

Вы должны использовать DialogFragment для этой цели и переопределить метод onCreateDialog(Bundle) вместо обычного фрагмента. И DialogFragment имеет метод dismiss(), поэтому вы можете его уволить, когда захотите. Для получения дополнительной информации см. official documentation.