Оператор Switch не переключается - PullRequest
1 голос
/ 18 декабря 2011

Я пытаюсь изменить значение переменной в операторе switch с помощью счетчика.Но переменная застряла на значении по умолчанию.Вот код с оператором switch и то, как используется переменная.

    final Spinner feedbackSpinner = (Spinner) 
    findViewById(R.id.SpinnerFeedbackType);  

    String RSSFEEDOFCHOICE;
    switch((int)feedbackSpinner.getSelectedItemId())  {      
         case R.string.groep1:
        RSSFEEDOFCHOICE = "https://www.scouting.nl/publiek/nieuws?format=feed&type=rss";
         break;
         case R.string.groep2:
        RSSFEEDOFCHOICE = "https://www.scouting.nl/publiek/nieuws?format=feed&type=rss";
         break;
         case R.string.groep3:
        RSSFEEDOFCHOICE = "https://www.scouting.nl/publiek/nieuws?format=feed&type=rss";
         break;
         case R.string.groep4:
        RSSFEEDOFCHOICE = "https://www.scouting.nl/publiek/nieuws?format=feed&type=rss";
             break;
         default:           
             RSSFEEDOFCHOICE = "http://www.scout.org/rss/feed/all";
             break;
     }


    // get rss feed
    feed = getFeed(RSSFEEDOFCHOICE);

    UpdateDisplay();
        }

private RSSFeed getFeed(String urlToRssFeed)

Я просто не понимаю, почему RSS-канал не меняется, а переменная должна была измениться.

1 Ответ

2 голосов
/ 18 декабря 2011

R.String.вернет идентификатор ресурса, а не строку, которая находится внутри вашего strings.xml, поэтому сравнение не удастся.Вы можете вместо этого использовать getString (R.string.hello) и удалить приведение типов к int в операторе switch.

...