我的游戏被吸引到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
内实现它。
感谢任何帮助,如果需要,我会发布我的代码(目前还不确定哪些位实际上是相关的)
答案 0 :(得分:1)
您正在尝试从工作线程修改UI线程,这会产生这些错误。为防止这种情况,请尝试调用runOnUiThread()
方法...
Game.this.runOnUiThread(new Runnable() {
public void run() {
customDialogObject.show();
}
});