Мишь, тут ты не прав в корне, если у тебя вызывающая активити не синглтон, то может быть спокойно случай, когда отображается (находятся в памяти) две копии диалога.
Отображается всегда один АлертДиалог. Если активность скрыта, то АлертДиалог просто умирает. И это основная причина, почему AlertDialog не рекомендуется к использованию, потому что при повороте экрана, он умирает. Я не прав?
Посмотри на реализацию ДиалогФрагмента, что бы получить из него данные в активити, нам приходиться организовывать callback
Нет, не приходится, а
рекомендуется. Можешь почитать
эту тему.
И еще кое что
java имеет не линейную архитектуру исполнения программы.
Не совсем понял о какой линейности идет речь. Да даже не понял причем тут это. Ты путаешь мягкое со сладким. Я говорю о том, что диалог всегда на экране один и что в таком случае, стоит его сделать в виде статического класса. Ты же мне начинаешь говорить о том, как лучше взаимодействовать с активностями, когда я об этом вообще речи не веду. Но даже если и затронуть эту тему, то могу сказать, что когда я работал с диалогами, то передавал всё в нужный метод, что мне требовалось. К примеру контекст активности для отображения, либо тот же слушатель.
Не стоит путать ДиалогФрагменты с Алертиалогами. Первые из них куда гибче, тога как вторые лучше вообще не использовать. А если использовать, то для каких-то простых вещей.
И кстати, возвращаясь к линейной архитектуре исполнения программы. Ну ассемблер линейный. А что еще линейное?
Твоё утверждение о статичности или синглтонировании диалога не верно в корне
какое утверждение? я лишь говорю, как лучше сделать и почему это лучше так сделать. если что-то представляет единичный экземпляр, то стоит сделать интерфейс к этой штуке в единичном экземпляре. По мне это очень даже очевидно.