【问题标题】:Reverse the order of ListView display反转ListView显示顺序
【发布时间】:2012-03-01 00:21:45
【问题描述】:

我有一个 SimpleCursorAdapter 从 SQLite 数据库中检索信息并将其放入 ListView。都是教科书内容:

            new SimpleCursorAdapter(this, R.layout.viewexisting, c, from, to);

但是,我希望它反向显示数据。目前数据库中最旧的条目出现在顶部,最新的出现在底部。

【问题讨论】:

  • 你可以尝试排序你的sql语句。例如"Select .. from ... where ... 按日期 asc/desc 排序"
  • 哦,现在我觉得自己很愚蠢!我完全忘记了我的 DBAdapter 中有一个执行查询的方法!非常感谢,我会在稍后添加解决方案。

标签: android android-listview


【解决方案1】:

列表的顺序取决于您构建 SQL 查询的方式。具体影响这一点的是 SQLite 查询方法中的 Sort 参数。最后一个参数是要排序的列,取决于该列在您的数据库中的内容,它将按此排序。例如:

[database object].query(.., COL_NAME + " ASC");

COL_NAME 是列名,ASC 代表“升序”

我相信它的 DESC 表示“降序”。

请记住,列必须是整数、字符串或日期。 SQLite 将使用这些附加的升序或降序参数。

【讨论】:

    【解决方案2】:

    嗯。提供的答案并不完全正确,因为它改变了记录从数据库中出来的顺序。假设原始问题作者在他的数据库中有 50 条记录,他想每次从数据库中提取 10 条最新的项目,但让用户更改这 10 条项目的显示方式。他不想更改他的 SQL 查询。

    【讨论】:

      【解决方案3】:

      或者以相反的顺序使用Hashmap。如果您有固定的数据库结果,这是一个不错的选择。

      【讨论】:

        猜你喜欢
        • 2019-01-15
        • 2021-03-04
        • 2014-09-30
        • 1970-01-01
        • 2019-12-07
        • 2012-09-10
        • 2013-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多