Android 方法不调用警报类

Android 方法不调用警报类,android,Android,我在主类中设置了一个警报方法。然后在主类内的onclick中调用,如: alertbox.show(); 我将需要一些警报对话框来设置我的应用程序内的验证 我的alertdialog代码如下: final AlertDialog.Builder alertbox = new AlertDialog.Builder(this); alertDialog = new AlertDialog.Builder(this).create(); alertbox.setTitle("War

我在主类中设置了一个警报方法。然后在主类内的onclick中调用,如:

alertbox.show();
我将需要一些警报对话框来设置我的应用程序内的验证

我的alertdialog代码如下:

final AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
    alertDialog = new AlertDialog.Builder(this).create();
    alertbox.setTitle("Warning");
    alertbox.setMessage("Game May End");
    alertbox.setPositiveButton("CONTINUE",
            new DialogInterface.OnClickListener() {

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


                }
            });

    alertbox.setNegativeButton("CANCEL",
            new DialogInterface.OnClickListener() {

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

                }
            });

    alertbox.setIcon(R.drawable.icon);
在我已经在主类中拥有的内容的基础上添加一些警告对话框会使类变得太大。我想把这个类分成一个mainvalidation类。然后在主类中调用此警报对话框,如下所示

mainvalidation.alertbox.show();
谁能帮我一下吗。谢谢

编辑:

我试着把它放到另一个类中并添加static。但它说,当我使用static时,只有final是允许的alertbox显示错误:

        public class MainValidation extends Activity {

    static AlertDialog alertbox;
    static AlertDialog alertDialog; 

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final static AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
            alertDialog = new AlertDialog.Builder(this).create();

        alertbox.setTitle("Warning");
        alertbox.setMessage("Game May End");
        alertbox.setPositiveButton("CONTINUE",
                new DialogInterface.OnClickListener() {

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



                    }
                });

        alertbox.setNegativeButton("CANCEL",
                new DialogInterface.OnClickListener() {

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

                    }
                });

        alertDialog.setIcon(R.drawable.icon);


}
}

请帮助,谢谢

您只需创建一个名为
mainvalidation
的新类,然后将您的项目声明为:

final static AlertDialog.Builder alertbox

然后可以根据需要调用方法。

使用DialogTest之类的类

显示对话框:DialogTest.showDialog(ctx);//ctx是您从中调用的上下文

DismisseDialog:DialogTest.dismissDialog()


嗨,谢谢你的回答,我试过了,但是我有错误,我在上面编辑过。谢谢
public class DialogTest
{
    private static AlertDialog  alertDialog;

    public static void showDialog(Context ctx)
    {
        final AlertDialog.Builder alertbox = new AlertDialog.Builder(ctx);
        alertbox.setTitle("Warning");
        alertbox.setMessage("Game May End");
        alertbox.setPositiveButton("CONTINUE", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {}
        });
        alertbox.setNegativeButton("CANCEL", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {}
        });
        alertDialog = alertbox.create();
        alertDialog.setIcon(R.drawable.icon);
        alertDialog.show();
    }

    public static void dismissDialog()
    {
        alertDialog.dismiss();
    }
}