2

我一直在研究这个问题,但我似乎无法弄清楚。我有一个简单的应用程序,有几个普通视图和一个 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();
}

一如既往,感谢您的帮助。

4

1 回答 1

0

我没有尝试在 android 上使用 GL,但我最近自己也遇到了一些主页按钮/重新打开应用程序的怪异现象 - 在我的情况下,它结果与以下问题有关,您可能想查看:

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

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

希望它可以帮助您走上正轨。

于 2011-07-14T09:47:05.580 回答