Próbuję sprawić, że moja etykieta przypadku otworzy inną klasę w zależności od tego, który przycisk zostanie naciśnięty. Mam to działa dobrze dla jednego przycisku, ale nie jestem pewien, jak postępować dla dwóch przycisków.Oświadczenie na walizkę z systemem Android - pomoc
Herezje mój kod do tej pory:
public void onClick(View v) {
switch (v.getId()) {
case R.id.about_button:
Intent i = new Intent(this, About.class);
startActivity(i);
break;
case R.id.reminderList_button:
Intent i = new Intent (this, ReminderListActivity.class);
startActivity(i);
break;
}
}
Daje to błąd, ponieważ jestem ponowne użycie zmiennej lokalnej (I) - jeśli ktoś mógłby dać mi znać, jak to zrobić poprawnie byłoby mile widziane.
Jakiekolwiek powody, dla których jest to lepsze niż ustalanie zakresu? po prostu czystsze i mniej kodu? – user319940
@ user319940 Tak, jak już powiedziałem: jeśli chcesz użyć zmiennej 'i' później, po instrukcji switch, to nie będziesz w stanie tego zrobić, jeśli' i' local do zakresu w instrukcji switch . Niezależnie od tego będziesz miał mniej zduplikowany kod, jeśli wypuścisz 'startActivity (i)' również po instrukcji switch. :) –
Bardziej podatny na błędy, jeśli nie zajmujesz się przypadkiem domyślnym. Koniecznie zainicjuj i sprawdź przynajmniej. – EboMike