0

我收到如下 RSS 提要:

        <item>
        <caterory>sports</category>
        <content:encoded>text 1......</content:encoded>
        <title>title 1...</title>
        </item>

        <item>
        <caterory>news</category>
        <content:encoded>text 2......</content:encoded>
        <title>title 2 ...</title>
        </item>

        <item>
        <caterory>sports</category>
        <content:encoded>text 3......</content:encoded>
        <title>title 3 ...</title>
        </item>

         ......

        <item>
        <caterory>news</category>
        <content:encoded>text x......</content:encoded>
        <title>title x ...</title>
        </item>

我想创建一个列表,列表项应该命名为类别名称。所以,如果用户点击运动,他可以看到新的运动等。这有多容易?在网上搜索我没有找到类似的东西。现在,我创建了一个列表,女巫返回给我一个包含所有类别的列表(例如,如果我有 25 篇文章,我会得到一个包含 25 个类别的列表,有时与 1.sports、2.news、3.sports 相同,...ETC)

int position=1;
if (feed.getItem(position).getCategory()!=null)
{


for(int pos=0;pos<feed.getItemCount();pos++){

    //feed.getItemCount();

    SlideMenuItem item2=new SlideMenuItem();
    item2.id = MYITEMCATEGORY;
    item2.icon = getResources().getDrawable(R.drawable.favorite_full);
    item2.label = feed.getItem(pos).getCategory();
    slidemenu.addMenuItem(item2);
}

抱歉我的语法不好,希望我的问题可以理解..:)

4

1 回答 1

0

创建一个包含所有类别的集合,这将消除重复项。然后迭代 Set 并将它们一一添加到菜单中。

http://docs.oracle.com/javase/6/docs/api/java/util/Set.html

试试这个:

int position=1;
if (feed.getItem(position).getCategory()!=null)
{
    Set<String> categories = new HashSet<String>();
    for(int pos=0;pos<feed.getItemCount();pos++)
        categories.add(feed.getItem(pos).getCategory();

    for(String category : categories) {
        SlideMenuItem item2=new SlideMenuItem();
        item2.id = MYITEMCATEGORY;
        item2.icon = getResources().getDrawable(R.drawable.favorite_full);
        item2.label = category;
        slidemenu.addMenuItem(item2);
    }
}
于 2013-04-18T13:42:50.843 回答