我有一个“加载”对话框,它基本上是一个非常简单的启动画面,只显示“加载”图形,而我的(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;
有什么想法吗?
答案 0 :(得分:2)
这是正常行为,因为当您回到家时,您的活动会暂停。
让你的loading_dialog全局化。然后在onResume()内部调用:
if (load_dialog != null && !load_dialog.isShowing())
load_dialog.show();
另请记住,即使在加载旋转屏幕时,也会重新创建您的活动。所以你也需要注意这一点。