2011-12-19 69 views
0

我有一个android游戏,当用户获胜时,它会显示一个对话框,询问他们是否要再次玩。如果他们说“不”,则应用程序退出,如果他们说“是”,则开始另一个游戏。问题在于新的游戏在显示对话框时开始,而不是等待用户按下按钮。代码是这样的:想要android应用程序等待,直到用户按下按钮,然后继续

if (won) { 
    showDialog(DIALOG_WON_ID); 
    imageAdapter.initializemThumbIds(); // this starts a new game 
} 

我不希望开始新的游戏线执行,直到对话框被解散。

回答

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(); 
+0

它说“imageAdapter无法解析”。 – BenH 2011-12-19 02:36:31

+0

他的意思是“if(won){showDialog}”,然后为对话框按钮设置一个onclick监听器,并使对话框按钮启动新游戏。 – 2011-12-19 03:06:25

+0

也可以为你的方法使用更多的描述性名字'imageAdapter.initializemThumbIds()'听起来不像是开始一个新游戏。 – 2011-12-19 03:06:52

1

您当前的代码显示的对话框,并立即进入线以下showDialog()。你想要做的是将开始一个新游戏的代码移动到showDialog()中实现的DialogDialogInterface.OnClickListener()代码。

相关问题