android - 在领域中按日期排序
问题描述
我想按日期对信息进行排序。例如数据格式是:2017 年 11 月 10 日。我正在尝试这样的事情:
RealmResults<ResultFavorite> resultFavoritesReleaseDate = realm.where(ResultFavorite.class).sort("releaseDate", Sort.DESCENDING).findAll();
但它不起作用。查询中的 fieldName 是一个字符串。
解决方案
当您说“它不起作用”时,我假设实际上记录是排序的,但是按字符串降序而不是日期顺序。
我可以看到两个选项。
首先,Date
是受支持的 Realm 字段类型,因此您可以将字段更改为该类型(或可选:Date?
如果使用 Kotlin)。您的查询应该可以正常工作。这将是首选的解决方案。
第二个选项远没有那么优雅,但如果您无法更改字段类型,则将是必要的。在这种情况下,您需要查询所有对象,然后将结果类型映射到数组,并使用 java 或 Kotlin 排序例程进行排序。排序标准将基于从字符串到日期的转换。这在内存使用方面也是缓慢且低效的。
推荐阅读
- python - 查找数据框中的列是否既没有 nan 也没有 none
- php - 在 PHP 中写入新行
- android - Android Studio 中缺少/隐藏的工具窗口
- python - python - 根据来自另一个数据帧2的一系列值(时间)提取数据帧1的值
- javascript - 尝试使用 Material Design lite 卡创建砌体网格
- python - Tensorflow Keras 在自编码器中分别使用编码器和解码器
- python - 共享多处理阵列中的精度损失?
- python - 如何创建一个新的布尔列来处理来自前 n 行的信息
- amazon-web-services - 在 CloudFormation 中使用条件和参数
- r - R 中回归之间特定 X 值的置信区间重叠百分比