2016-12-29 1 views
0

Скачивали этот исходный код: https://github.com/shikha14/ParsingRssFeedsJava/Android FeedParser - Добавить еще один пункт меню

Я хочу, чтобы добавить больше пунктов меню, но это don't работа ...

Исходный код в

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 пунктов, но URL работают только для первого и второго пунктов меню .. есть идея?

Спасибо за ответы ...

ответ

0

Ваш код, в этом вопросе, имеет только два условия: if (position == 0) и else. Вам необходимо обработать дополнительные позиции. Кроме того, в вашем блоке else вы назначаете значение AppUtils.RSS_2 локальному URL-адресу переменной. Затем вы назначаете AppUtils.RSS_3 URL-адрес, который заменяет значение, которое он ранее ссылал. Затем вы повторяете для AppUtils.RSS_4. Это ничего не достигнет, так как каждое из ваших заданий переписало эффекты предыдущего.

Предполагая, что вы на самом деле были созданы пункты меню (ваш вопрос не содержит ничего об этом), а затем обрабатывать их:

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

Спасибо, что работа для меня ... – Humfeld

Смежные вопросы