繁体   English   中英

Android AlertDialog关闭方法不起作用

[英]Android AlertDialog dismiss method does not work

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

AlertDialog.Builder builder = new AlertDialog.Builder(myContext);
        builder.setTitle("Congratulations, you won!");
        builder.setMessage("Time: x seconds\nScore: xxxx\nHigh score: yyyy");
        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"
                        dialog.dismiss();
                    }
                });
        builder.setNegativeButton("Exit",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        System.exit(0);
                    }
                });
        builder.create.show();

提前致谢! CoderOgden

将dilog.dissmiss()放入退出按钮,然后完成();

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM