berk kaan
berk kaan

Reputation: 447

Ok Button for Alert Dialog on Android

This is my code for an alert, it shows a message when a button is pressed. How can I make an OK Button to dismiss?

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

I have put alert.setCancelMessage(null) but it doesn't show any button to dismiss.

Solution:

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

Upvotes: 33

Views: 78457

Answers (9)

siva
siva

Reputation: 21

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

Upvotes: 1

Zar E Ahmer
Zar E Ahmer

Reputation: 34360

Couldn't that just be done by only using a positive button?

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

Upvotes: 4

Misha Bhardwaj
Misha Bhardwaj

Reputation: 1387

Change your alertdialog to this:

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

Upvotes: 50

MysticMagicϡ
MysticMagicϡ

Reputation: 28823

You can do it using setPositiveButton and 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();
        }
    });

Edited:

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

Upvotes: 1

Praveen
Praveen

Reputation: 62

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

Upvotes: 0

Dhanesh Budhrani
Dhanesh Budhrani

Reputation: 190

Check the AlertDialog.Builder page in the API: http://developer.android.com/reference/android/app/AlertDialog.Builder.html

You can set positive, neutral, and negative buttons using the setPositiveButton, setNeutralButton and setNegativeButton methods, respectively

Upvotes: 0

Manmeet Singh Batra
Manmeet Singh Batra

Reputation: 467

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.setButton("OK", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int which) {
                    //do somthing or dismiss dialog by                dialog.dismiss();

                }
            });

            alert.show();
        }
    });
}}      

Upvotes: 0

Sahil Mahajan Mj
Sahil Mahajan Mj

Reputation: 11141

You can create both OK and cancel button for dialog using this,

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

Upvotes: 12

Opiatefuchs
Opiatefuchs

Reputation: 9870

alert.setPositiveButton or alert.setNegativeButton

Upvotes: 0

Related Questions