Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上警报对话框的Ok按钮_Android_Android Alertdialog - Fatal编程技术网

Android上警报对话框的Ok按钮

Android上警报对话框的Ok按钮,android,android-alertdialog,Android,Android Alertdialog,这是我的警报代码,按下按钮时会显示一条消息。我怎样才能按“确定”按钮来取消 Button bm1 = (Button) findViewById(R.id.button1); bm1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated me

这是我的警报代码,按下按钮时会显示一条消息。我怎样才能按“确定”按钮来取消

    Button bm1 = (Button) findViewById(R.id.button1);
    bm1.setOnClickListener(new View.OnClickListener() {
        
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            AlertDialog alert = new AlertDialog.Builder(screen4.this).create();
            alert.setTitle("Doctor");
            alert.setMessage("message");
            alert.setCancelMessage(null);
            alert.show();
        }
    });
}}      
我已经设置了
警报。setCancelMessage(null)
,但它没有显示任何可关闭的按钮

解决方案:

      Button bm1 = (Button) findViewById(R.id.button1);
       bm1.setOnClickListener(new View.OnClickListener() {
        
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Builder alert = new AlertDialog.Builder(screen4.this);
            alert.setTitle("Doctor");
            alert.setMessage("message");
            alert.setPositiveButton("OK", null);
            alert.show();
        }
    });

alert.setPositiveButton或alert.setNegativeButton

您可以使用
setPositiveButton
setNegativeButton

    alert.setPositiveButton("OK", new OnClickListener() {

        @Override
        public void onClick(DialogInterface alert, int which) {
            // TODO Auto-generated method stub
            //Do something
            alert.dismiss();
        }
    });
    alert.setNegativeButton("Cancel", new OnClickListener() {

        @Override
        public void onClick(DialogInterface alert, int which) {
            // TODO Auto-generated method stub
            alert.dismiss();
        }
    });
编辑:

alert.setButton("OK", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        // Do something
        alert.dismiss();
        }
    });
alert.setButton("Cancel", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub

        alert.dismiss();
        }
    });

将alertdialog更改为:

Builder alert = new AlertDialog.Builder(screen4.this);
alert.setTitle("Doctor");
alert.setMessage("message");
alert.setPositiveButton("OK",null);
alert.show();    

您可以使用此命令为对话框创建“确定”和“取消”按钮

AlertDialog.Builder builder = new AlertDialog.Builder(
                        getApplicationContext());
                builder.setCancelable(true);
                builder.setTitle("Title");
                builder.setInverseBackgroundForced(true);
                builder.setPositiveButton("Yes",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                dialog.dismiss();
                            }
                        });
                builder.setNegativeButton("No",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                dialog.dismiss();
                            }
                        });
                AlertDialog alert = builder.create();
                alert.show();

检查API中的AlertDialog.Builder页面:


您可以分别使用setPositiveButton、setNeutralButton和setNegativeButton方法设置正极、中性和负极按钮

难道不能仅使用正极按钮吗?

    Button bm1 = (Button) findViewById(R.id.button1);
bm1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    final AlertDialog dialog = new AlertDialog.Builder(screen4.this).create();
    dialog.setTitle("Doctor");
    dialog.setMessage("message");
    dialog.setButton("Ok",new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
            // here you can add functions

           }
    });
    dialog.setButton2("Cancel",new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int id) {
        // here you can add functions
               dialog.dismiss();
    }
    });
    dialog.show();
    }};      
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Look at this dialog!")
       .setCancelable(false)
       .setPositiveButton("OK", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
                //do things
           }
       });
AlertDialog alert = builder.create();
alert.show();

对于
AlertDialog alert
@user370305,没有任何方法
setPositiveButton
,是的,完全错过了它是一个AlertDialog。对于那些建议
setPositiveButton()
setNegativeButton()
打开
AlertDialog alert
的人,只要看看我这样做了,我就会给出错误并说:“类型AlertDialog的方法setPositiveButton(字符串null)未定义“@berkkaan,我认为如果你将null作为侦听器传递,它将不起作用。传递一个新的侦听器there@ShreyaShah传递null将关闭AlertDialogy,请更新您的答案,就像我在我的解决方案中所写的那样,以便人们看到并获得解决方案。有效,但按钮一直向右对齐。如何在不进行自定义布局的情况下将“确定”居中?它给出错误“类型AlertDialog中的方法setButton(Charsqence,DialogInterface.OnClickListener)已弃用”builder.setInverseBackgroundForced(true);不赞成
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Look at this dialog!")
       .setCancelable(false)
       .setPositiveButton("OK", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
                //do things
           }
       });
AlertDialog alert = builder.create();
alert.show();
    bt = (Button) findViewById(R.id.button1);
    bt.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ab = new AlertDialog.Builder(MainActivity.this);

            ab.setTitle("confirm");
            ab.setIcon(R.drawable.ic_launcher);
            ab.setMessage("Do u want to close this application?");

            ab.setPositiveButton("ok", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int i) {
                    Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
                }
            });

            ab.setNegativeButton("cancle", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int i) {
                    Toast.makeText(MainActivity.this, "cancle", Toast.LENGTH_SHORT).show();
                }
            });

            ab.show();
        }
    });