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

How do you filter & sort a RecyclerView that uses LiveData (without using a SearchView)

所以我说的是一个显示 filtered/sorted 项目列表的 RecyclerView(filter/sort 标准是预设的,不取决于用户,所以没有必要使用 SearchView)从server/DB.

我考虑过在自定义适配器的 setData 函数中执行 sorting/filtering,如下所示:

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

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

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

您实际上可以将 ListAdapter 用于您的 RecyclerView + livedata.map { list -> list.filter {...}}