Una cosa muy útil que tienen los ALERTDIALOG son su facilidad de programación y la posibilidad de añadirle eventos en sus ITEMS.
Vamos a ver el ejemplo para tenerlo más claro.
- creamos un BUTTON en nuestro LAYOUT para llamar el ALERTDIALOG:
- Vamos a programar un evento onclick en JAVA al nuevo BUTTON y que llame al método que lo hemos llamado mostrar_alertdialog() :
public class MainActivity extends AppCompatActivity { Button button; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mostrar_alertdialog();
}
});
}
- Ahora vomos a programar el método:
final CharSequence[] items = { "A", "B", "C", "D" }; AlertDialog.Builder builder = new AlertDialog
.Builder(MainActivity.this);
builder.setTitle("VOCALES"); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { dialog.dismiss(); } }).show(); } //este método no tiene eventos en sus items
- Si lo que queremos es programar eventos en sus ITEMS, tenemos que utilizar un SWITCH y en cada CASE programar qué queremos hacer dentro del ONCLICK del ALERTDIALOG:
public void onClick(DialogInterface dialog, int item) { switch (item){ case 0: // hacer algo case 1: // hacer algo case 2: // hacer algo case 3: // hacer algo
}
Saludos a todo@s