2016-12-29 2 views
0

diesen Quellcode heruntergeladen: https://github.com/shikha14/ParsingRssFeedsJava/Android feedparser - Hinzufügen eines weiteren Menüpunkt

Ich will mehr Menüpunkte hinzufügen, aber es arbeitet nicht ...

Der ursprüngliche Code in

AppUtils.java

public class AppUtils { 

public static final String RSS_CNN_NEWS = "http://rss.cnn.com/rss/cnn_latest.rss"; 
public static final String RSS_GOOGLE_NEW = "https://news.google.com/?output=rss"; 
public static final String TAG = "DIGIPLUSE"; 

und Api.java:

public void getNews(int position, FetchListener listener) { 
    String url = null; 
    if (position == 0) { 
     url = AppUtils.RSS_CNN_NEWS; 
    } else { 
     url = AppUtils.RSS_GOOGLE_NEW; 
    } 
    new AsyncHTTPPost().execute(url, listener); 
} 

Ich versuche dies:

public class AppUtils { 

public static final String RSS_1 = "http://example.org/feed&type=rss"; 
public static final String RSS_2 = "http://example.org/feed&type=rss"; 
public static final String RSS_3 = "http://example.org/feed&type=rss"; 
public static final String RSS_4 = "http://example.org/feed&type=rss"; 

und diese:

public void getNews(int position, FetchListener listener) { 
String url = null; 
if (position == 0) { 
url = AppUtils.RSS_1; 
} else { 
url = AppUtils.RSS_2; 
url = AppUtils.RSS_3; 
url = AppUtils.RSS_4; 
} 

Wenn ich die App starten, die 4 Elemente angezeigt, aber die URL Arbeit nur für die ersten und zweiten Menüpunkte .. hat jemand eine idee?

Danke für Antworten ...

Antwort

0

Ihr Code in der Frage, hat nur zwei Bedingungen: if (position == 0) und else. Sie müssen mit den zusätzlichen Positionen umgehen. In Ihrem "else" -Block weisen Sie außerdem den Wert von AppUtils.RSS_2 der lokalen Variablen-URL zu. Dann ordnen Sie AppUtils.RSS_3 der URL zu, die den zuvor referenzierten Wert ersetzt. Dann wiederholst du für AppUtils.RSS_4. Das wird nichts bringen, da jede deiner Aufgaben die Effekte der vorherigen überschreibt.

Angenommen, Sie tatsächlich die Menüpunkte erstellt (Ihre Frage enthält nichts darüber), dann mit ihnen umgehen:

if (position == 0) { 
    url = AppUtils.RSS_1; 
} else if (position == 1) { 
    url = AppUtils.RSS_2; 
} else if (position == 2) { 
    url = AppUtils.RSS_3; 
} else if (position == 3) { 
    url = AppUtils.RSS_4; 
} else { 
    throw new IllegalArugmentException("Unrecognized position: "+position); 
} 
+0

Danke, dass die Arbeit für mich ... – Humfeld

Verwandte Themen