0

我有一个列表,其中包含具有标题的元素,我使用 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 的元素对列表进行排序,但不起作用,我的折扣元素显示在我的列表底部

有什么建议吗?

4

1 回答 1

0

通过添加修复它

   listProduct.sortByDescending { it.hasDisscount }
于 2020-04-19T21:50:31.300 回答