0

ハンドラからアラート ダイアログを呼び出しています。アラート ダイアログには、「もう一度再生」と「終了」の 2 つのボタンがあります。「もう一度再生」ボタンでアクティビティを再開するコードを書きました。しかし、終了ボタンをクリックしたときにアプリケーションを終了する方法がわかりません。私はハンドラーからfinish()を呼び出すことができません。以下は私のコードです。誰か助けてください...

private Handler handler = new Handler() {
     public void handleMessage(Message msg) {
         AlertDialog.Builder builder = new AlertDialog.Builder(_context);
            builder.setMessage("Game Over !!!")
                    .setCancelable(false)
                    .setPositiveButton("Play Again",
                            new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog,int which) {
                                    //thread.start();
                                    Intent intent = new Intent ( _context , DroidzActivity.class );                                    
                                    _context.startActivity ( intent ); 
                                }
                            })
                    .setNegativeButton("Exit",
                            new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog,int which) {

                                    dialog.cancel(); 

                                }
                            });
            AlertDialog alert = builder.create();
            alert.show();
           }




            };
4

1 に答える 1

1

上記のコードが終了したいアクティビティに含まれている場合は、次のコードを試してください。

YourActivity.this.finish();

編集:現在のアクティビティを破棄するのではなく、次の方法で開始することを提案します。

Intent intent = new Intent ( _context , DroidzActivity.class );    
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
_context.startActivity ( intent ); 

メソッドで「play Again」アクションを処理しonNewIntent()ます。アクティビティでオーバーライドする必要があります。

詳細については、http: //developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_SINGLE_TOPを確認してください。

http://developer.android.com/reference/android/app/Activity.html#onNewIntent(android.content.Intent )

于 2011-12-07T11:06:25.157 に答える