Reputation: 447
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
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
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
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
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
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
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
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
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