Siguiendo con los buenos tutoriales de Android, veamos cómo mostrar una alerta que tenga una lista de opciones como la siguiente:
Esas opciones son creadas a partir del contenido de un arreglo.
Veremos cómo crear la alerta, definir las opciones, escuchar el click de cada opción y saber cuál de ellas fue seleccionada; todo esto usando AlertDialog.Builder.
Se necesita importar a DialogInterface (para escuchar los clicks) y a AlertDialog para crear el diálogo. Así que al inicio del archivo coloca lo siguiente:
import android.app.AlertDialog;
import android.content.DialogInterface;
Si quieres mostrar la selección en un Toast, también importa la clase, pero recuerda que esto no es necesario para la alerta:
import android.widget.Toast;
Es una buena práctica definir las opciones como un arreglo, y declarar al mismo como final. Por lo tanto, dentro de tu clase define las opciones:
// Recuerda que esto va dentro de la clase, pero no dentro de un método
final private CharSequence[] OPCIONES_ALERTA = {"Editar", "Eliminar"}; // Aquí más opciones...
Agrega las necesarias. Como ves, es un arreglo de CharSequence. Más abajo vamos a usarlo.
Cuando ya hemos definido nuestras opciones creamos la alerta con AlertDialog.Builder.
Para establecer su contenido, llamamos a setItems
, pasándole el arreglo que definimos anteriormente y una interfaz en donde sobrescribimos el método onClick
.
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Opciones");
builder.setItems(OPCIONES_ALERTA, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// which representa el índice del arreglo de opciones
String eleccion = OPCIONES_ALERTA[which].toString();
// Aquí puedes mostrar la elección o hacer lo que sea con ella.
Toast.makeText(getActivity(), "Elegiste: " + eleccion, Toast.LENGTH_SHORT).show();
// En el click se descarta el diálogo
dialog.dismiss();
}
});
Con eso hemos creado la alerta. En el método onClick
se recibe un elemento llamado which
, que indica el índice del elemento que fue seleccionado.
Nota: si estás dentro de una actividad, usa NombreDeTuClase.this
en lugar de getActivity
También se recibe el diálogo en sí, y llamamos a dismiss
para descartarlo.
Lo de arriba crea la alerta, pero para mostrarla debes llamar al método show. Así que cuando quieras mostrarla llama al método:
builder.show();
Con eso se podrá mostrar una alerta como la que se muestra al inicio del post. Es común mostrar la alerta justo después de haberla creada.
En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
Esta web usa cookies.