gpt4 book ai didi

android - 如何在 RealmResults 中按日期排序

转载 作者:行者123 更新时间:2023-11-29 02:35:07 26 4
gpt4 key购买 nike

有一些字段用于存储日期。一些字段有一个日期,而一些字段是空的(没有日期)。我需要以这样一种方式进行排序,即在列表的开头有按升序排列的带有 date 的字段。在列表的末尾,有些字段没有日期。

正常排序会将没有日期的字段放在列表顶部。

RealmResults<Task> results = mRealm.where(Task.class).findAll()
.sort(Task.TARGET_DATE, Sort.ASCENDING);

如何安排排序以使没有日期的字段位于列表末尾?

最佳答案

Realm 当前 (v4.2.0) 不支持指定 NULL 值放置位置(开始/结束)的功能。

实现此目的的唯一方法是创建两个单独的 Realm 查询。看看类似的答案here .

//sorted result without date equal null
RealmResults<Task> results_sorted = mRealm
.where(Task.class)
.isNotNull(Task.TARGET_DATE)
.findAll()
.sort(Task.TARGET_DATE, Sort.ASCENDING);

//result containing only Tasks with null date
RealmResults<Task> results_null = mRealm
.where(Task.class)
.isNull(Task.TARGET_DATE)
.findAll();

然后您可以将结果合并到难以管理的List<Task>或者将它们包装到 List<RealmResults<Task>>并为每个结果集附加监听器。

关于android - 如何在 RealmResults 中按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47525698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com