Godfryd
Godfryd

Reputation: 479

Creating another dialog after dialog Android

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

Answers (5)

Niroop Nife
Niroop Nife

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

Manohar
Manohar

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

BabyProgrammer
BabyProgrammer

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

jeel raja
jeel raja

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

Deepak Sachdeva
Deepak Sachdeva

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

Related Questions