我创建了一个 AlertDialog 以在成功时向用户显示下一级挑战。所以,对应的代码是这样的。当游戏成功时调用 showDialog(R.id.display_success) 并执行以下代码。
所以,我希望在每次调用中都执行此代码。然而; 游戏只执行一次,并在其他所有执行中显示相同的 AlertDialog。我的意思是,就像在创建第一个实例之后没有创建实例一样,并且一直使用第一个实例。
case R.id.display_success:
updateGameSettings();
message = formatLevel()
+ formatMission();
return new AlertDialog.Builder(this)
.setIcon(R.drawable.smiley_happy)
.setTitle(R.string.dialog_success)
.setMessage(message)
.setPositiveButton(R.string.alert_dialog_newgame, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
startANewGame();
}
})
.setNegativeButton(R.string.exit, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
})
.create();