按主页键并重新启动应用程序后,对话框不会“重新显示”

时间:2014-07-27 20:38:38

标签: android view dialog splash-screen

我有一个“加载”对话框,它基本上是一个非常简单的启动画面,只显示“加载”图形,而我的(Android)应用程序的所有资源都会加载。

一旦完成,对话框就会被取消。一切都很好。除了一件事......

如果用户在显示“加载”对话框时按下“主页”键,然后在加载所有内容之前返回应用程序,我得到的只是一个空白屏幕。它仍然有效....即,最终,空白屏幕被我的应用程序取代。

那么,为什么我的对话框没有'重新显示'?我已经确认在对话框被解除之前我正在返回我的应用程序,所以我真的不理解它。在我的游戏中的所有其他点,它返回屏幕完全,如果暂停并立即重新启动。

我正在创建我的对话框,因此此代码位于 onCreate()

        load_dialog = new Dialog(MainActivity.this, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        load_dialog.setCancelable(false);

然后我就这样展示(也在 onCreate()

        //Set and display splash screen view
        load_dialog.setContentView(splash);
        load_dialog.show();

一旦所有内容都加载完毕,在我的GLRenderer类的 onSurfaceCreated()方法中,我只是忽略它......

         load_dialog.dismiss;

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这是正常行为,因为当您回到家时,您的活动会暂停。

让你的loading_dialog全局化。然后在onResume()内部调用:

if (load_dialog != null && !load_dialog.isShowing())
    load_dialog.show();

另请记住,即使在加载旋转屏幕时,也会重新创建您的活动。所以你也需要注意这一点。