Я возился с этой проблемой и, похоже, не могу ее решить.У меня есть простое приложение с несколькими обычными видами и видом поверхности GL, я делаю несколько диалоговых окон, используя onCreateDialog (), и все выглядит нормально.
@Override
protected Dialog onCreateDialog(int id)
{
super.onCreateDialog(id);
Dialog m_Dialog = null;
// help dialog
if (id == HELP_DIALOG)
{
m_Dialog = new Dialog(this);
m_Dialog.setContentView(R.layout.help_dialog);
m_Dialog.setTitle("Instructions - Press BACK to close");
}
}
Однако, если я использую home для выхода из приложения, затем возвращаюсь в приложение, диалоговые окна больше не появляются, однако экран тускнеет, как будто диалоговое окно отображается.Я получаю вызов onPrepareDialog (), даже когда диалоговое окно не отображается, я пробовал некоторые вещи, такие как вызов show () из диалогового окна.Становится немного страннее, если я затем переключаюсь на свой вид поверхности GL и возвращаюсь к работе диалогов снова.Я использую ViewAnimator для переключения между моими представлениями.Я почти уверен, что правильно справляюсь с жизненным циклом, перебегая onPause () / onResume ()
@Override
protected void onResume()
{
super.onResume();
m_Sensors.StartSensors();
m_GameThread.Pause(false);
glSurface.onResume();
}
Как всегда, спасибо за помощь.