2011-12-19 4 views
0

私はアンドロイド用のゲームを持っています。ユーザーが勝利すると、もう一度再生するかどうかを尋ねるダイアログが表示されます。 「いいえ」と答えた場合はアプリケーションが終了し、「はい」と答えた場合は別のゲームが開始されます。問題は、ユーザーがボタンを押すのを待つのではなく、ダイアログが表示されるときに新しいゲームが開始されることです。コードは次のようなものです:私は、ダイアログが閉じられるまで開始新しいゲームのラインを実行したくないあなたがボタンを押し続けるまでアンドロイドアプリを待ちます。

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

答えて

2

"はい" ボタンをクリックしてイベントには、このコール

imageAdapter.initializemThumbIds(); 

を入れてください。

EDIT:このような

何か:

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

+0

彼は 'if(won){showDialog}'を選択してダイアログボタンのonclickリスナーを設定し、ダイアログボタンを新しいゲームを開始させるようにします。 –

+0

また、あなたのメソッドにもっとわかりやすい名前を使ってください。 'imageAdapter.initializemThumbIds()'は新しいゲームを開始するようには聞こえません。 –

1

あなたの現在のコードは、ダイアログが表示され、すぐにshowDialog()次の行に進みます。あなたがしたいのは、新しいゲームを開始するコードをDialogDialogInterface.OnClickListener()コードshowDialog()に実装するように移動することです。

関連する問題