【发布时间】:2021-04-13 00:01:02
【问题描述】:
在我的 Android 应用中,我有一个包含以下字段的自定义对象列表,
var myNotesList: ArrayList<Note>
class Note(
var title: String
var date: String,
var status: String)
这里的status 可以是以下三个值中的任何一个:
草稿、待处理、已完成
现在,我希望我的列表以先草稿并按日期降序排序的方式排序,然后按日期排序待处理,然后按已完成状态项排序。
例如,
{someNoteTitle, draft, 07 Jan 2021},
{someNoteTitle, draft, 06 Jan 2021},
{someNoteTitle, draft, 04 Jan 2021},
{someNoteTitle, Pending, 07 Jan 2021},
{someNoteTitle, Pending, 06 Jan 2021},
{someNoteTitle, Completed, 07 Jan 2021},
{someNoteTitle, Completed, 05 Jan 2021},
{someNoteTitle, Completed, 02 Jan 2021}
我尝试过使用sortedWith 和compareBy,但由于状态顺序要求不是按字母顺序排列的,我无法使用内置函数执行此操作,否则我将不得不在带有循环的肮脏方式。
【问题讨论】:
标签: android sorting kotlin comparable