0

我创建了一个表格(TableLayout),显示呼叫不同联系人的分钟数,如下所示:

Contact       |    Minutes Used
______________|__________________
              |
Joe Bloggs    |         5
Eric Peters   |        10
John Smith    |        53
Susan Jones   |         9

我希望能够对行进行排序,以便它们按使用分钟数的降序排列。如果不先使用 SQLite 将我的表变成数据库,这是否可能?我今天之前没有使用过它,这似乎是一件很简单的事情。

如果需要,我可以发布用于创建表的代码。

4

1 回答 1

1

我不会使用 SQLite。相反,如果您有一个联系人列表和一个使用分钟列表,我将使用字段字符串名称和 Int 分钟创建一个联系人类。然后我会将它们存储在一个 List 中,并通过在 Contact 类上实现 Comparable(一个接口)对它们进行排序。可比:(http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html)。

比较解释:

您需要实现方法“public int CompareTo(Object o)”。如果有更多的分钟,这应该返回 1,如果有相同的数量,则返回 0,如果更少,则返回 -1。然后,您可以轻松地对您的联系人对象进行排序。

请记住将对象转换为联系人,并有办法访问分钟数,例如 public int getMinutes() 来调用联系人实例。

另请注意,您很可能必须以编程方式使用匿名表格行创建布局,并从 Contact 对象的字段设置表格行中的每个文本视图。

于 2012-01-17T10:22:18.113 回答