如何在我的程序中使用处理程序?

时间:2011-12-06 05:28:45

标签: android handler android-alertdialog

在我的应用程序中我正在使用画布和一些对象。这个实现是在一个名为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 个答案:

答案 0 :(得分:1)

游戏超过条件检查后调用此功能

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();    
}