Java / Android FeedParser - 再添加一个菜单项

时间:2016-12-29 21:45:05

标签: java android xml parsing

下载此源代码:https://github.com/shikha14/ParsingRssFeeds

我想添加更多菜单项,但它不起作用......

中的原始代码

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";

和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);
}

我试试这个:

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";

和此:

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;
}

当我启动应用程序时,它会显示4个项目,但该网址仅适用于第一个和第二个菜单项... 谁有任何想法?

感谢您的回答......

1 个答案:

答案 0 :(得分:0)

您的问题中的代码只有两个条件:elseif (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); } 。您需要处理其他职位。此外,在“else”块中,您将AppUtils.RSS_2的值分配给本地变量url。然后将AppUtils.RSS_3分配给url,它将替换先前引用的值。然后重复AppUtils.RSS_4。这将无法实现任何目标,因为你的每个任务都覆盖了前一个任务的效果。

假设您实际创建了菜单项(您的问题不包含任何内容),请处理它们:

25 <= S && S <= 75