我有一个列表,其中有一个有标题的元素,我使用groupBy将所有列表元素按一个标题分组,这很好,但现在我还想按hasDisscount为true的元素排序,因为我希望这些元素在列表中首先显示
fun setItems(listProduct: MutableList<Product>) {
listProduct.sortBy { it.hasDisscount }
listProduct.groupBy({ it.productTypeName }, { product -> product
}).iterator().forEach {
uiItems.add(it.key)
for (product in it.value) {
uiItems.add(product)
}
}
notifyDataSetChanged()
}
现在,我试着在分组之前先用hasDisscount为true的元素对列表进行排序,但不起作用,我的disscount元素显示在我的列表的底部
有什么建议吗?
通过添加修复
listProduct.sortByDescending { it.hasDisscount }