Reputation: 479
While learning to use dialogs in an Android app I've created this dialog box:
dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setTitle("Title");
dialogBuilder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Next dialog", Toast.LENGTH_LONG).show();
}
});
dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Canceled", Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = dialogBuilder.create();
dialog.show();
How to create another dialog immediately after "Next" is pressed? I've read this post but I don't understand the code answered there.
Upvotes: 3
Views: 5114
Reputation: 376
My answer might be late but might be useful for some,
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure to make the changes?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("This is the second dialog");
dialog.setNeutralButton("Okay", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(this, "You clicked Okay", Toast.LENGTH_LONG).show();
}
});
AlertDialog dial = dialog.create();
dial.show();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
});
AlertDialog dialog = builder.create();
dialog.show();
Upvotes: 1
Reputation: 23394
create another dialog inside onclick of positive button some thing like this
dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setTitle("Title");
dialogBuilder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Next dialog", Toast.LENGTH_LONG).show();
showDialog();
}
});
dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Canceled", Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = dialogBuilder.create();
dialog.show();
and showdialog method
public void showDialog(){
dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setTitle("Title");
dialogBuilder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Next dialog", Toast.LENGTH_LONG).show();
}
});
dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Canceled", Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = dialogBuilder.create();
dialog.show();
}
Upvotes: 3
Reputation: 115
This is what I used for my app
Button more = (Button) findViewById(R.id.more);
more.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//Intent myIntent = new Intent(view.getContext(), agones.class);
//startActivityForResult(myIntent, 0);
AlertDialog alertDialog = new
AlertDialog.Builder(<YourActivityName>this).create(); //Read Update
alertDialog.setTitle("hi");
alertDialog.setMessage("this is my app");
alertDialog.setButton("Continue..", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
}
});
alertDialog.show(); //<-- See This!
}
});
Upvotes: 1
Reputation: 667
Here is your solution, you can create another dialog after "Next" Pressed.
MainActivity.java
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
alertDialogBuilder.setTitle("First Dialog");
alertDialogBuilder
.setMessage("Click yes to Open Second Dialog!")
.setCancelable(false)
.setPositiveButton("Next", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//MainActivity.this.finish();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
alertDialogBuilder.setTitle("Your Title");
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//MainActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
Upvotes: 2
Reputation: 1010
Call this method whereever you want. Don't need to write code again and again. Just call method showConfirmAlertDialog(activity);
public static void showConfirmAlertDialog(Activity mActivity) {
AlertDialog.Builder adb = new AlertDialog.Builder(mActivity).setTitle("title").setMessage("message");
adb.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { // Confirmed
dialog.cancel();
}
});
adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { // Rejected
dialog.cancel();
}
});
adb.setCancelable(false);
adb.show();
}
Upvotes: 1