Java Android AlertDialog Disclose方法不起作用

Java Android AlertDialog Disclose方法不起作用,java,android,dialog,android-alertdialog,Java,Android,Dialog,Android Alertdialog,我创建了一个AlertDialog,但无法关闭它。。。 我可以看到它并按下按钮,但当我按下“积极按钮”时,程序将执行一些任务,然后关闭(关闭)对话框。所有任务都在完成,没有关闭对话框,它只会闪烁一次(我不知道它可能会关闭然后重新打开) 提前谢谢! 在退出按钮中放入dilog.dissmiss()然后完成() 请尝试以下代码: AlertDialog.Builder builder = new AlertDialog.Builder(myContext); builder.setTitle

我创建了一个AlertDialog,但无法关闭它。。。 我可以看到它并按下按钮,但当我按下“积极按钮”时,程序将执行一些任务,然后关闭(关闭)对话框。所有任务都在完成,没有关闭对话框,它只会闪烁一次(我不知道它可能会关闭然后重新打开)

提前谢谢!
在退出按钮中放入dilog.dissmiss()然后完成()

请尝试以下代码:

AlertDialog.Builder builder = new AlertDialog.Builder(myContext);
    builder.setTitle("Congratulations, you won!");
    builder.setMessage("Time: x seconds\nScore: xxxx\nHigh score: yyyy");

    builder.setNegativeButton("Exit",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    System.exit(0);
                }
            });
    AlertDialog myDialog = builder.create();
    builder.setPositiveButton("Play again!",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // Doing stuff!
                    circle1Paint = yellowPaint;
                    circle2Paint = yellowPaint;
                    circle3Paint = yellowPaint;
                    playing = true;


                    // Trying to close it after doing "the stuff"
                    myDialog.dismiss();
                }
            });
    myDialog.show();

dialog.disclose()=>
finish()请避免此操作:
系统。退出(0)你是什么意思?我只想删除对话框。System.exit(0)用于退出程序,我可以用什么替换它?您永远不应该显式退出程序。这是一个非常糟糕的设计模式<代码>完成()关闭对话框。如何从视图类中的方法调用finish()类型new DialogInterface.OnClickListener(){}的方法finish()未定义,根据Java。。。在setPositiveButton中,我只想关闭对话框!!怎么用?
builder.setNegativeButton("Exit",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                   dialog.dismiss(); 
                  finish();
                }
            });
AlertDialog.Builder builder = new AlertDialog.Builder(myContext);
    builder.setTitle("Congratulations, you won!");
    builder.setMessage("Time: x seconds\nScore: xxxx\nHigh score: yyyy");

    builder.setNegativeButton("Exit",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    System.exit(0);
                }
            });
    AlertDialog myDialog = builder.create();
    builder.setPositiveButton("Play again!",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // Doing stuff!
                    circle1Paint = yellowPaint;
                    circle2Paint = yellowPaint;
                    circle3Paint = yellowPaint;
                    playing = true;


                    // Trying to close it after doing "the stuff"
                    myDialog.dismiss();
                }
            });
    myDialog.show();