我有一个Android游戏,当用户获胜时,它会显示一个对话框,询问他们是否想再玩一次。如果他们说“不”,则应用程序退出,如果他们说“是”,则启动另一个游戏。问题是在显示对话框时开始新游戏,而不是等待用户按下按钮。代码是这样的:
if (won) {
showDialog(DIALOG_WON_ID);
imageAdapter.initializemThumbIds(); // this starts a new game
}
我不希望在对话框被解除之前执行start-new-game行。
答案 0 :(得分:2)
拨打此电话
imageAdapter.initializemThumbIds();
进入“是”按钮点击事件。
编辑:
这样的事情:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Would you like to play again?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
imageAdapter.initializemThumbIds();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Exit the game
}
});
AlertDialog alert = builder.create();
alert.show();
答案 1 :(得分:1)
您当前的代码会显示该对话框并立即转到showDialog()
后面的行。您要做的是将启动新游戏的代码移至DialogInterface.OnClickListener()
中实现的Dialog
的{{1}}代码。