Вы можете создать какой-то флаг isPopupVisible
, а затем проверить его, когда вы нажимаете кнопку, если это true
, тогда return
, иначе выполните действие. Вы также должны установить этот флаг на true
, если появится всплывающее окно и false
, когда оно исчезнет.
Как @Luksprog упомянул в комментариях, решение может быть следующим:
Присвойте тег вашему DialogFragment при создании:
FragmentManager fragmentManager = getSupportFragmentManager();
MyDialogFragment.newInstance(...).show(fragmentManager, "myTag");
Найдите его и отклоните в onCreate
MyDialogFragment dialog = ((MyDialogFragment)getSupportFragmentManager().findFragmentByTag("myTag"));
if (dialog != null) {
dialog.dismiss();
}
Я думаю, что было бы эффективнее вообще отключить воссоздание DialogFragment, но я не знаю, возможно ли это.