Я использую Anko для работы с таблицей SQLite, я надеюсь отсортировать список сначала по полю isFavorite
, затем по createdDate
Например, введите Исходные данные , и я получу Данные результата сортировки
Но код return myList.sortedBy{it.isFavorite}.sortedBy{ it.createdDate}
не может получить правильный результат, как я могу это исправить?
Исходные данные
Сортировать данные результатов (надеюсь получить)
Структура
data class MRecord (
var _id: Long,
var isFavorite: Bool,
var createdDate: Long
)
Код
var myList=select(tableName).parseList { MDBRecord(HashMap(it)) }
return myList.sortedBy{it.isFavorite}.sortedBy{ it.createdDate}
Добавленный контент
Безумцу: Спасибо!
data class MRecord(
var id: Long,
var isFavorite: Long,
var createdDate: Long
)
val list = listOf(
MRecord(1, 1, 100),
MRecord(2, 0, 200),
MRecord(3, 1, 300)
)
Я надеюсь получить результат
1, 1, 100
3, 1, 300
2, 0, 200
но код println(list.sortedWith(compareBy({ !it.isFavorite }, MRecord::createdDate)))
не будет работать, потому что isFavorite - это Long, как я могу это исправить?