Я пытаюсь изменить значение переменной в операторе 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-канал не меняется, а переменная должна была измениться.
R.String.вернет идентификатор ресурса, а не строку, которая находится внутри вашего strings.xml, поэтому сравнение не удастся.Вы можете вместо этого использовать getString (R.string.hello) и удалить приведение типов к int в операторе switch.