首页 > 解决方案 > Android AlertDialog 未显示

问题描述

我正在尝试在函数中打开警报对话框。在我的代码末尾调用 .show() 时,代码只是停止运行。当我尝试在onCreate同一个类的函数中执行完全相同的代码片段时,一切正常。当我试图从另一个功能打开对话框时,为什么对话框打不开?

    DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> {
        switch (which){
            case DialogInterface.BUTTON_POSITIVE:
                //Yes button clicked
                break;

            case DialogInterface.BUTTON_NEGATIVE:
                //No button clicked
                break;
        }
    };


    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

    builder.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener)
            .setNegativeButton("No", dialogClickListener).show();

标签: androidandroid-alertdialog

解决方案


你可以试试这个,应该很简单:

  AlertDialog alertDialog = new AlertDialog.Builder(
                YourDialogActivity.this).create();

   alertDialog.setTitle("Alert Title");
   alertDialog.setMessage("Alert Message");

   alertDialog.setPositiveButton("YES",
    new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(getApplicationContext(),
                    "YES clicked", Toast.LENGTH_SHORT)
                    .show();
        }
    });

   alertDialog.setNegativeButton("NO",
     new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(getApplicationContext(),
                    "NO clicked", Toast.LENGTH_SHORT)
                    .show();
            dialog.cancel();
        }
    });

   alertDialog.show();

请设置您如何使用该功能不适合您的地方


推荐阅读