Как использовать обработчик в моей программе? - PullRequest
1 голос
/ 06 декабря 2011

В моем приложении я использую Canvas и некоторые объекты для этого. Эта реализация выполняется в отдельном потоке с именем mythread. В конкретном сценарии я хочу отобразить диалоговое окно с предупреждением на моем экране. Сначала попытался реализовать это с помощьюнижеприведенная функция.

  public void StopChecking()
{
    if(stopgameflag==true)
    {
        context=MyActivity.this;
        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) {
                                setContentView(R.layout.main);
                                dialog.cancel();
                            }
                        })
                .setNegativeButton("Exit",
                        new DialogInterface.OnClickListener() {

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

                            }
                        });


        Log.d(TAG, "Stopping...oooooooooooooooooooooooooooooo");

    }
}

это функция, записанная в классе MyActivity (основное действие). Но происходит сбой.кто-то сказал, что обработчики - лучший способ сделать это. Я искал то же самое. Но я ничего не мог понять ...
Может кто-нибудь сказать мне, как я могу реализовать обработчики для отображения диалогового окна с предупреждением ...

1 Ответ

1 голос
/ 06 декабря 2011

Вызывайте эту функцию после проверки состояния игры

if(gameover) {
    StopChecking();
}


public void StopChecking() {

    final AlertDialog alertDialog = new AlertDialog.Builder(this).create();  
    alertDialog.setTitle("*GameOver*");        
    alertDialog.setButton("Exit", new DialogInterface.OnClickListener() {  
         public void onClick(DialogInterface dialog, int which) {                                       

             return;  
             }  
         });  
         alertDialog.setButton2("Play Again", new DialogInterface.OnClickListener() {  
             public void onClick(DialogInterface dialog, int which) {

                 // start  game again                     
                 return;  
             }  
         });
         alertDialog.show();    
}
...