Возврат из активности приводит к тому, что диалоговые окна не появляются при перезапуске - PullRequest
2 голосов
/ 08 июня 2011

Я возился с этой проблемой и, похоже, не могу ее решить.У меня есть простое приложение с несколькими обычными видами и видом поверхности 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();
}

Как всегда, спасибо за помощь.

1 Ответ

0 голосов
/ 14 июля 2011

Я не пробовал работать с GL на андроиде, но недавно я сам испытывал некоторые странности с кнопками home / re-open app - в моем случае это оказалось связано с нижеприведенными проблемами, которые вы, возможно, захотите проверить из:

http://code.google.com/p/android/issues/detail?id=5277

http://code.google.com/p/android/issues/detail?id=2373

Надеюсь, это поможет вам встать на правильный путь.

...