Самый простой способ, который я нашел, чтобы это исправить, - отслеживать время существования диалога в упражнении и делать hide()
/ show()
в onResume
для занятия.Это решение работает только для одного Dialog
за один раз, но его можно легко адаптировать к большему количеству при необходимости.
1) Сделайте ваше занятие выполненным Dialog.OnDismissListener
.2) Добавить переменную экземпляра для текущего Dialog
в вашем Activity
:
private Dialog currentDialog = null;
3) В onResume()
добавить:
if(currentDialog != null) {
currentDialog.hide();
currentDialog.show();
}
4) Для каждого созданного диалогав onCreateDialog()
, добавьте:
dialog.setOnDismissListener(this);
currentDialog = dialog;
5) Наконец, добавьте:
@Override
public void onDismiss(DialogInterface dialog) {
if(dialog == currentDialog)
currentDialog = null;
}
Это, кажется, исправит это для меня.