max:Int?=binding.maxId.text.toString().toIntOrNull()
var filteredList=ArrayList<Word>()
if (list==null){
return filteredList
}
filteredList= list.filter { word ->
if (min!=null){
return@filter word.id!!>=min
}else return@filter true
}.filter { word ->
if (max != null) {
return@filter word.id!!<=max
}else return@filter true
}/*.sortedBy{ it.id }*/ as ArrayList<Word>
return filteredList
}'''
Не получается отсортировать..
Список с базы неотсортированный приходит
Как лучше сделать?
Если память не подводит там ClassCastException падает
Если раскомментировать
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Почему бы не сортировать сразу средствами бд?
Слишком просто) Он с сервера приходит а там datajpa хрен с ним в другой раз
Лайфхак - пишем список в чатГПТ, описываем ей как нужно сортировать, копируем, радуемся результату
Нуллы, !! и вообще куча лишнего написана.
Да там исправлялось переправлялось.. Время только с утра пару часиков есть о чем подумать за компом щас в метро на работу Седня фильтр настроил, понял что он не сортированный получается
return list.filter { it.id in min .. max }.sortedBy { it.id }
- min/max нужно передавать в виде параметров в функцию. Они не должны быть nullable. И исходный список тоже. - Создавать пустой список не нужно. Если фильтр ничего не вернет, то результат все равно будет - пустой список. - Тип возвращаемого результата лучше сделать List<Word>
Обсуждают сегодня