Alert Dialog is used very often when building applications. Usually, it is used to warn a user about an action he is about to take. Most of the time, those action are critical and irreversible, before deleting something for example.
A simple Alert Dialog in Android Studio would show the title, a warning or explanation message and buttons.
Let us see how to build a simple Alert Dialog in Android Studio.
After creating a new empty project in Android Studio, we will start coding the Alert Dialog.
First of all we need to create an Alert Dialog builder and set the parameters. As parameters we define the title and the message of the Alert Dialog.
//FIRST, WE NEED TO CREATE THE ALERT DIALOG BUILDER AlertDialog.Builder builder = new AlertDialog.Builder(this); //SET THE TITLE OF THE DIALOG builder.setTitle("Are you sure?"); //SET THE MESSAGE builder.setMessage("This action can't be undone!");
Next, we define the function that will be executed if the user clicks in the positive button (in our case, button “Yes”).
Android Studio will help you to auto populate the onClick handler
//WE DEFINE THE FUNCTION, WHEN THE USER CHOOSES "YES" builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //HERE GOES THE LOGIC OF THE APPLICATION, IF THE USER SELECTS A POSITIVE CHOICE //TO TEST IT, WE CAN SET THE VALUE OF THE TEXT VIEW //LET'S SET THE TEXT TO YES textView.setText("You have selected Yes"); } });
Similarly, we will create the function to handle the action when the user clicks on the negative button (in our case button “No”).
//DEFINE THE FUNCTION, IF THE USERE CLICKS 'NO', OR SELECTS THE NEGATIVE CHOICE builder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //HERE YOU DEFINE THE LOGIC, IF THE USER SELECTS OR CLICKS THE 'NO' BUTTON //USUALLY, NOTHING IS DEFINED HERE, BUT DEPENDS ON YOUR DECISION //HERE, LET'S SET THE TEXT TO NO textView.setText("You have selected No"); } });
And finally, we create the Alert Dialog from the builder and show it to the screen.
//NOW, WE CREATE THE ALERT DIALG OBJECT AlertDialog ad = builder.create(); //FINALLY, WE SHOW THE DIALOG ad.show();
In our case, for demonstration purposes, we have decided to show the Alert Dialog immediately after the Android application is loaded. In real world situation, an Alert Dialog, usually appears after a certain action.
For the purposes of this tutorial, you need to create a text view in your Android application layout and give it an id of myText
<TextView android:id="@+id/myText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
Below, you will find the complete Java code of this tutorial:
package com.example.alertdialog; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.myText); //FIRST, WE NEED TO CREATE THE ALERT DIALOG BUILDER AlertDialog.Builder builder = new AlertDialog.Builder(this); //SET THE TITLE OF THE DIALOG builder.setTitle("Are you sure?"); //SET THE MESSAGE builder.setMessage("This action can't be undone!"); //WE DEFINE THE FUNCTION, WHEN THE USER CHOOSES "YES" builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //HERE GOES THE LOGIC OF THE APPLICATION, IF THE USER SELECTS A POSITIVE CHOICE //TO TEST IT, WE CAN SET THE VALUE OF THE TEXT VIEW //LET'S SET THE TEXT TO YES textView.setText("You have selected Yes"); } }); //DEFINE THE FUNCTION, IF THE USERE CLICKS 'NO', OR SELECTS THE NEGATIVE CHOICE builder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //HERE YOU DEFINE THE LOGIC, IF THE USER SELECTS OR CLICKS THE 'NO' BUTTON //USUALLY, NOTHING IS DEFINED HERE, BUT DEPENDS ON YOUR DECISION //HERE, LET'S SET THE TEXT TO NO textView.setText("You have selected No"); } }); //NOW, WE CREATE THE ALERT DIALG OBJECT AlertDialog ad = builder.create(); //FINALLY, WE SHOW THE DIALOG ad.show(); //LET'S TEST IT IN THE EMULATOR, OR OUR ANDROID DEVICE } }
This whole tutorial can be found in the below video:
I hope this tutorial has helped you to understand the creation and the usage of a simple Alert Dialog in Android Studio.
If you have any question, please write them here or post them in the YouTube video above.
Thank you!