【问题标题】:List order in android devices differentandroid设备中的列表顺序不同
【发布时间】:2013-04-08 09:52:08
【问题描述】:

我很难理解为什么 arrayList 的列表顺序在不同的 Android 设备中是相反的。例如,在 Asus Nexus 7 中,列表(我想在 ListView 中显示的一些项目)排序良好,但在 Galaxy Tab 2 中,顺序相反。 当我打电话给Collections.reverse(items); Galaxy中的顺序变好,而Nexus中的顺序错了!!!! 这来自 SQLite 数据库,该数据库在每个设备中以不同的顺序放置项目!!!这是为什么 ?正常吗

【问题讨论】:

  • 您的 SQL 语句是否有 ORDER BY 子句?没有它,就不能保证结果会以任何顺序返回。
  • 问题是我正在使用 GreenDAO 来操作数据库,所以我只调用 doaSession.loadAll(); 我在所有设备中填充数据库相同我解析一个 XML 文件并获取项目并将它们保存在数据库...
  • 好的。但是您是否在查询中使用ORDER BY 子句?
  • 我试图查看GreenDao的代码源,发现使用了“Order By”子句,我发现它没有使用!但是如果不使用会发生什么变化!我不明白为什么当我在数据库中以某种顺序插入行时,某些设备中的顺序会颠倒!

标签: android collections android-listview android-sqlite device


【解决方案1】:

不能保证 SQL 将按照与插入行的顺序相同的顺序返回结果。这不是规范的一部分。如果您需要保证结果是有序的,请在特定列上使用ORDER BY 子句。

【讨论】:

  • 谢谢@Deepak,我想我在插入时会有相同的顺序,但你可能是对的,我应该使用一个列来保证 xml 提供的相同顺序...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多