我正在为Android编写游戏,每当玩家死亡时,他应该得到一个小警报对话框,为高分列表写下他的名字。然而,游戏循环仍在继续,我宁愿保持这样。但似乎循环阻止了对话框。此外,如果按重新启动,游戏将重新启动,但会忽略用户输入。过了一会儿,“这个应用程序没有响应...”消息弹出。
主要活动中调用的代码
public static boolean addHighScore(int score) {
if (mHiScores != null) {
if (mHiScores.checkIfFits(score)) {
if (Looper.myLooper() == null)
Looper.prepare();
mCurScore = score;
mTextDialog.show();
return true;
}
}
return false;
}
PS:他的=他/她,他=他/她等。
编辑:警告对话框永远不会显示,如果没有明确显示。
答案 0 :(得分:1)
您可以尝试启动包含addHighScore功能的新线程。这不会阻止你的游戏,它可以在后台运行。此外,当用户完成插入其名称时,您的线程将结束,游戏可以使用线程提供的数据重新启动。 只是一个想法。
答案 1 :(得分:0)
如果要在UI-Thread中显示线程提供的数据,请不要使用线程。请改用AsyncTask。