Переменная if if statment не работает - PullRequest
0 голосов
/ 17 декабря 2011

У меня есть счетчик.Теперь я хочу сравнить переменную из счетчика в операторе if.И чем я хочу изменить переменную, но я не могу изменить переменную.Вот код моего блесна:

<resources>
<string name="app_name">Groep kiezer</string>
<string name="Mijngroep">Selecteer jouw groep</string>  
<string name="groep1">Admiraal kruysgroep</string>      
<string name="groep2">Admiraal van Kinsbergen</string>  
<string name="groep3">Alexandergroep</string>  
<string name="groep4">Anthonie van diemenstam</string>  
</resources>

А вот файл (простой rss-ридер), в котором его сравнивают:

public class RSSReaderscoutingnl extends Activity implements OnItemClickListener{
public final String tag = "RSSReaderscoutingnl";
private RSSFeed feed = null;
private String RSSFEEDOFCHOICE;

/** Called when the activity is first created. */

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);

        final Spinner feedbackSpinner = (Spinner)    
findViewById(R.id.SpinnerFeedbackType);  
        final String groep = feedbackSpinner.getSelectedItem().toString();  

        if (groep.equals("groep1")) {
            RSSFEEDOFCHOICE = "http://www.scout.org/rss/feed/all";
        }
        else if (groep.equals("groep2")) {
            RSSFEEDOFCHOICE = "http://www.scout.org/rss/feed/all";
        }
        else if (groep.equals("groep3")) {
            RSSFEEDOFCHOICE = "http://www.scout.org/rss/feed/all";
        }
        else if (groep.equals("groep4")) {
            RSSFEEDOFCHOICE = "http://www.scout.org/rss/feed/all";
    }

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

    UpdateDisplay();
        }

private RSSFeed getFeed(String urlToRssFeed)
{
    try
    {
        // setup the url
       URL url = new URL(urlToRssFeed);

       // create the factory
       SAXParserFactory factory = SAXParserFactory.newInstance();
       // create a parser
       SAXParser parser = factory.newSAXParser();

       // create the reader (scanner)
       XMLReader xmlreader = parser.getXMLReader();
       // instantiate our handler
       RSSHandler theRssHandler = new RSSHandler();
       // assign our handler
       xmlreader.setContentHandler(theRssHandler);
       // get our data via the url class
       InputSource is = new InputSource(url.openStream());
       // perform the synchronous parse           
       xmlreader.parse(is);
       // get the results - should be a fully populated RSSFeed instance, or null on error
       return theRssHandler.getFeed();
    }
    catch (Exception ee)
    {
        // if we have a problem, simply return null
        return null;
    }
}

private void UpdateDisplay()
{
    TextView feedtitle = (TextView) findViewById(R.id.feedtitle);
    TextView feedpubdate = (TextView) findViewById(R.id.feedpubdate);
    ListView itemlist = (ListView) findViewById(R.id.itemlist);


    if (feed == null)
    {
        feedtitle.setText("No RSS Feed Available");
        return;
    }

    feedtitle.setText(feed.getTitle());
    feedpubdate.setText(feed.getPubDate());

    ArrayAdapter<RSSItem> adapter = new ArrayAdapter<RSSItem>  
(this,android.R.layout.simple_list_item_1,feed.getAllItems());

    itemlist.setAdapter(adapter);

    itemlist.setOnItemClickListener(this);

    itemlist.setSelection(0);

}


 public void onItemClick(AdapterView parent, View v, int position, long id)
 {
     Log.i(tag,"item clicked! [" + feed.getItem(position).getTitle() + "]");

     Intent itemintent = new Intent(this,ShowDescription.class);

     Bundle b = new Bundle();
     b.putString("title", feed.getItem(position).getTitle());
     b.putString("description", feed.getItem(position).getDescription());
     b.putString("link", feed.getItem(position).getLink());
     b.putString("pubdate", feed.getItem(position).getPubDate());

     itemintent.putExtra("android.intent.extra.INTENT", b);

     startActivityForResult(itemintent,0);
 }

}

Я просто не могу его получитьизменить RSSFEEDOFCHOICE.Я надеюсь, что кто-то может мне помочь.

1 Ответ

0 голосов
/ 17 декабря 2011

Вызовите getSelectedItemId и сравните его с идентификатором, а не со строкой:

switch(feedbackSpinner.getSelectedItemId()) {
// edit: forgot this one                  ^
    case R.string.groep1:
    case R.string.groep2:
    case R.string.groep3:
    case R.string.groep4:
        RSSFEEDOFCHOICE = "http://www.scout.org/rss/feed/all";
        break;
    default:
        break;
}
...