创建可根据不同标准订购的可滚动项目列表?

时间:2014-08-18 21:52:47

标签: android list sorting scroll tags

II希望创建一个可滚动的项目列表,这些项目可以根据用户从操作栏中选择的不同标准进行排序;我在想一个按钮,上面写着:“排序......”。我正在开发Android应用程序。

我正在开发一个旅游指南,或者更确切地说,用我之前写过的纸质旅游指南制作应用程序,因此我有一个用户可以浏览的纪念碑列表。

如果用户可以按字母顺序,或根据纪念碑的评级或基于标记其类型的标签(历史建筑,博物馆等)对列表中的项目进行排序,那将是很好的。 / p>

甚至可以在每个项目的名称下显示,比如一种副标题,一系列点或星星表示上述评级?

最后但并非最不重要的是,只有当纪念碑按名称或等级排序时才能自动将它们按另一个标签分组? 就像在某些歌曲播放器应用程序中一样,当您选择一位艺术家时,您会显示他/她的所有歌曲,这些歌曲通常按专辑分组。在我的例子中,分组标记将代表纪念碑城市中的区域。

尽管我有出版经验,但我是Android的新手(仅举几个课程),API文档使我对编码非常厌恶。我知道我要求的很多,所以我不要求详细的解释,但有一些关于什么可能是解决方案的建议,一些有用的指导以及关于数组列表和排序方法的特定API文档的一些名称,我应该看一下。 / p>

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

首先,您需要为特定项目提供自定义Java对象

例如:

public class CustomItem{

private String Name;
private int Rating;
private String Tag;

// getters and setters


}

然后,您可以创建一个Listview,其中Input包含一个CustomItem类型的List。这是一个很好的ListView教程:http://www.vogella.com/tutorials/AndroidListView/article.html

然后,您可以像Spinner那样拥有某些功能,您可以在其中添加排序条件。当用户选择一个排序条件时,您可以对ListView的输入列表进行排序,并通过执行以下操作来刷新列表视图:listView.getAdapter()。notifyDataSetChanged();

希望这有帮助。