¿Cómo mostrar un cuadro de diálogo Sí/No en Android?

DialogBox se utiliza en muchas aplicaciones de Android para mostrar cuadros de diálogo. Hay diferentes tipos de cuadros de diálogo que se muestran en las aplicaciones de Android, como AlertDialog , cuadros de diálogo de advertencia y otros. En este artículo, veremos cómo mostrar un cuadro de diálogo Sí/No en Android. A continuación se muestra un video de muestra para tener una idea de lo que vamos a hacer en este artículo.

Nota : este artículo de Android cubre los lenguajes Java y Kotlin

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio .

Paso 2: trabajar con el archivo activity_main.xml

Vaya a aplicación > res > diseño > actividad_principal.xml y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle. 

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
 
    <!--on below line we are creating
        a text for heading of our app-->
    <TextView
        android:id="@+id/idTVHeading"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/idBtnDisplayDialog"
        android:layout_margin="20dp"
        android:gravity="center"
        android:padding="4dp"
        android:text="Yes/No Dialog Box"
        android:textAlignment="center"
        android:textColor="@color/purple_200"
        android:textSize="20sp"
        android:textStyle="bold" />
 
    <!--on below line we are creating a
        button for displaying a dialog-->
    <Button
        android:id="@+id/idBtnDisplayDialog"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:text="Show Dialog"
        android:textAllCaps="false" />
 
</RelativeLayout>

Paso 3: trabajar con el archivo MainActivity 

Vaya a aplicación > java > nombre del paquete de su aplicación > archivo MainActivity y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle. 

Kotlin

package com.gtappdevelopers.kotlingfgproject
 
import android.content.DialogInterface
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
 
class MainActivity : AppCompatActivity() {
 
    // on below line we are creating
    // variable for image view.
    lateinit var dialogBtn: Button
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
 
        // on below line we are initializing our variable with id.
        dialogBtn = findViewById(R.id.idBtnDisplayDialog)
 
        // on below line we are adding click listener for our button.
        dialogBtn.setOnClickListener {
 
            // on below line we are creating a dialog click listener
            // variable and initializing it.
            val dialogClickListener =
                DialogInterface.OnClickListener { dialog, which ->
                    when (which) {
                        // on below line we are setting a click listener
                        // for our positive button
                        DialogInterface.BUTTON_POSITIVE -> {
                            // on below line we are displaying a toast message.
                            Toast.makeText(this, "Yes clicked", Toast.LENGTH_SHORT).show()
                        }
 
                        // on below line we are setting click listener
                        // for our negative button.
                        DialogInterface.BUTTON_NEGATIVE -> {
                            // on below line we are dismissing our dialog box.
                            dialog.dismiss()
                        }
                    }
                }
 
            // on below line we are creating a builder variable for our alert dialog
            val builder: AlertDialog.Builder = AlertDialog.Builder(this)
 
            // on below line we are setting message for our dialog box.
            builder.setMessage("Select yes to display toast message and no to dismiss the dialog ?")
                // on below line we are setting positive
                // button and setting text to it.
                .setPositiveButton("Yes", dialogClickListener)
                // on below line we are setting negative button
                // and setting text to it.
                .setNegativeButton("No", dialogClickListener)
                // on below line we are calling
                // show to display our dialog.
                .show()
        }
    }
}

Java

package com.gtappdevelopers.kotlingfgproject;
 
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
 
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
 
public class MainActivity extends AppCompatActivity {
 
    // on below line we are creating a variable for our button.
    private Button dialogBtn;
    private DialogInterface.OnClickListener dialogClickListener;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // on below line we are initializing variables with ids.
        dialogBtn = findViewById(R.id.idBtnDisplayDialog);
 
        // on below line we are adding click listener for our dialog button
        dialogBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // on below line we are creating a dialog click listener
                // variable and initializing it.
                dialogClickListener = new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which) {
                            // on below line we are setting a click listener
                            // for our positive button
                            case DialogInterface.BUTTON_POSITIVE:
                                // on below line we are displaying a toast message.
                                Toast.makeText(MainActivity.this, "Yes clicked", Toast.LENGTH_SHORT).show();
                                break;
                            // on below line we are setting click listener
                            // for our negative button.
                            case DialogInterface.BUTTON_NEGATIVE:
                                // on below line we are dismissing our dialog box.
                                dialog.dismiss();
 
                        }
                    }
                };
                // on below line we are creating a builder variable for our alert dialog
                AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
                // on below line we are setting message for our dialog box.
                builder.setMessage("Select yes to display toast message and no to dismiss the dialog ?")
                        // on below line we are setting positive button
                        // and setting text to it.
                        .setPositiveButton("Yes", dialogClickListener)
                        // on below line we are setting negative button
                        // and setting text to it.
                        .setNegativeButton("No", dialogClickListener)
                        // on below line we are calling
                        // show to display our dialog.
                        .show();
 
            }
        });
    }
}

Ahora ejecute su aplicación para ver el resultado. 

Producción:

Publicación traducida automáticamente

Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *