Sto creando un'app con una griglia di immagini con testo e ognuna apre un'attività diversa. Funziona bene ma solo per scopi di progettazione, voglio sostituire il mio if-else statements
con switch statements
(che presumo di poterlo fare) tuttavia non funziona. In questo momento il mio codice di lavoro per impostare l'etichetta su ogni immagine è:Se non funziona, non cambiare
if(position == 0)
textView.setText(R.string.zero);
else if(position == 1)
textView.setText(R.string.one);
else if(position == 2)
textView.setText(R.string.two);
else if(position == 3)
textView.setText(R.string.three);
else if(position == 4)
textView.setText(R.string.four);
else if(position == 5)
textView.setText(R.string.five);
ect....
voglio usare:
switch(position)
case 0:
textView.setText(R.string.zero);
case 1:
textView.setText(R.string.one);
case 2:
textView.setText(R.string.two);
case 3:
textView.setText(R.string.three);
case 4:
textView.setText(R.string.four);
ma quando l'ho fatto mai etichetta è stata l'ultima che ho definito (nel mio esempio sarebbe "quattro"). Ho anche un codice simile per ogni oggetto per avviare un diverso intent
con la variabile position
ma che fa il contrario e rende ogni intento uguale al primo. La mia sintassi è errata o non funzionerà per la mia situazione?
È necessario 'break;' dopo ogni istruzione in un 'case', altrimenti si scorre verso il basso, in modo avrete sempre l'ultimo caso. –
@SotiriosDelimanolis ha espresso una risposta – Blackbelt
Grazie a tutti! Non mi rendevo conto che avevi bisogno di un 'break' quando non hai un' return' –