En mi aplicación tengo implementando un botón donde al presionarlo esta muestra un dialog con opciones a escoger, estas opciones son dinámicas es decir nunca van hacer las mismas cantidades de opciones, por cual esto me dificulta como detectar cuando es escogida alguna.
Lo que pensé para resolver la situación fue al switch asignarle la cantidad de case que sea necesarios utilizando el valor de un ciclo for, al hacerlo asi me da un error, cuando le pongo el puntero encima del case me brinda este error Case statement outside switch .
Imagen que muestra el dialog
Código usado:
btn_show.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final String[] item = text.split("\[")[1].split("\]")[0].split(","); AlertDialog.Builder di = new AlertDialog.Builder(MainActivity.this); di.setItems(item, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which){ for (int i = 0; i < item.length; i++) { case i: { Toast.makeText(MainActivity.this, "Select " + item[i], Toast.LENGTH_SHORT).show(); break; } } } } }); di.show(); } });
Mi pregunta es: como podría resolver este error o saber si existe mejor forma para hacer esto que necesito..