在SurfaceView中显示对话框

时间:2013-01-30 17:10:25

标签: android dialog surfaceview

我的游戏被吸引到SurfaceView。我使用Dialog作为级别完成屏幕,但无法显示它(Dialog.show())。

我一直收到以下错误:

01-30 16:45:34.425: E/AndroidRuntime(3415): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

我有一个Game类,它扩展了Activity并持有SurfaceView。我认为runOnUiThread()可能是解决方案,但经过不知疲倦的搜索后,我不知道如何在SurfaceView内实现它。

感谢任何帮助,如果需要,我会发布我的代码(目前还不确定哪些位实际上是相关的)

1 个答案:

答案 0 :(得分:1)

您正在尝试从工作线程修改UI线程,这会产生这些错误。为防止这种情况,请尝试调用runOnUiThread()方法...

Game.this.runOnUiThread(new Runnable() {
    public void run() {
        customDialogObject.show();
    }
});