Menu checkable Android per aprire una nuova classe alla selezione
-
28-10-2019 - |
Domanda
Sto creando un menu in Android e vorrei che questo menu aprisse una nuova classe a seconda di ciò che l'utente ha selezionato.
Il menu che ho creato è da questo link: http://developer.android.com/guide/topics/ui/dialogs.html#alertDialog
Ed è il codice per le caselle di controllo aggiuntive e i pulsanti di opzione
Ho questo codice:
final CharSequence[] items = {"Red", "Green", "Blue"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
final AlertDialog alert = builder.create();
Ma vorrei portare via il toast:
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
Quindi, quando l'utente fa clic sul colore specificato nell'elenco degli array, mostra una nuova classe, che non sono sicuro di come fare.
Sto cercando di fare un'affermazione if che assomiglia a questa:
if(items.equals("Red")){
Intent red = new Intent(Menu.this,Red.class);
startActivity(red);
}
Ma questo non funziona.
Modificare
Nessun problema, l'ho appena fatto facendo:
if(items[item].equals("Red")){
Intent red = new Intent(Menu.this,Red.class);
startActivity(red);
}
C'è un modo migliore per farlo?
Soluzione
provalo Ricky:
final CharSequence[] items = {"Red", "Green", "Blue"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Intent color;
switch(item){
case 0:
color = new Intent(Menu.this,Red.class);
break;
case 1:
color = new Intent(Menu.this,Green.class);
break;
case 2:
color = new Intent(Menu.this,Blue.class);
break;
default:
color = null;
break;
}
if(color!=null)startActivity(color);
}
});
final AlertDialog alert = builder.create();
buona fortuna.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow