如何过滤和排序使用LiveData的RecyclerView(不使用SearchView)



所以我说的是一个RecyclerView,它显示从服务器/DB查询的筛选/排序项目列表(筛选/排序标准是预设的,不取决于用户,所以使用SearchView没有意义)。

我考虑在自定义适配器的setData函数中进行排序/过滤,如下所示:

fun setData(items: List<GenericObject>) {
mValues.clear()
mValues.addAll(items)
mValues.filter { // filter conditions }
notifyDataSetChanged()
}

但这似乎不起作用。我可以使用什么替代方法,或者做这件事的首选方法是什么?

适配器不负责排序。这是提供数据的人的责任。

实际上你可以使用ListAdapter为你的RecyclerView +livedata.map { list -> list.filter {...}}

最新更新