Android 适配器回收视图中的列表为空

Android 适配器回收视图中的列表为空,android,kotlin,searchview,Android,Kotlin,Searchview,我想用房间数据库在回收者视图列表中进行搜索。在mhetod setAll中,我在arraylist中设置的值列出了该值设置一次的一些值(我调试) internal fun setAll(productEntity:List){ this.filterListResult=productEntity lists.addAll(filterListResult) notifyDataSetChanged() 搜索后,此列表已变为空 override fun getFilter(): Filter

我想用房间数据库在回收者视图列表中进行搜索。在mhetod setAll中,我在arraylist中设置的值列出了该值设置一次的一些值(我调试)

internal fun setAll(productEntity:List){
this.filterListResult=productEntity
lists.addAll(filterListResult)
notifyDataSetChanged()
搜索后,此列表已变为空

 override fun getFilter(): Filter {
        return object : Filter() {
            override fun performFiltering(constraint: CharSequence?): FilterResults {

                val charSearch = constraint.toString()
                if (charSearch.isEmpty())
                    filterListResult = productsList
                else {
                    val resultList= ArrayList<ProductEntity>()

                    lists.size
                    for (row in lists){
                        if(row.productName.toLowerCase().contains(charSearch.toLowerCase()))
                            resultList.add(row)
                    }

                    filterListResult = resultList

override fun getFilter():过滤器{
返回对象:筛选器(){
重写fun performFiltering(约束:CharSequence?):FilterResults{
val charSearch=constraint.toString()
if(charSearch.isEmpty())
filterListResult=productsList
否则{
val resultList=ArrayList()
列表。大小
用于(列表中的行){
如果(row.productName.toLowerCase()包含(charSearch.toLowerCase()))
结果列表.添加(行)
}
filterListResult=resultList

你也可以发布适配器的代码吗?为什么不在列表中使用
.filter{}
谓词?这比在我的git上覆盖
getFilter()
可读性强得多,你可以在上次提交时对我的适配器进行什么样的操作searchview不起作用
 override fun getFilter(): Filter {
        return object : Filter() {
            override fun performFiltering(constraint: CharSequence?): FilterResults {

                val charSearch = constraint.toString()
                if (charSearch.isEmpty())
                    filterListResult = productsList
                else {
                    val resultList= ArrayList<ProductEntity>()

                    lists.size
                    for (row in lists){
                        if(row.productName.toLowerCase().contains(charSearch.toLowerCase()))
                            resultList.add(row)
                    }

                    filterListResult = resultList