0

在我的项目中使用PagedListAdapter分页和应用程序也可以按关键字搜索。

道.kt

@Query("SELECT * FROM Item WHERE name LIKE :keyword")
fun getItems(keyword: String): DataSource.Factory<Int, ItemEntity>

创造

lateinit var itemLivePagedList: LiveData<PagedList<Item>>

.
.
.

val dataSourceFactory = itemUseCase.getItems(keyword)
val boundaryCallback = MyBoundaryCallback(itemUseCase, compositeDisposable, PAGE_SIZE)
itemLivePagedList = LivePagedListBuilder(dataSourceFactory, pagedListConfig)
            .setBoundaryCallback(boundaryCallback)
            .build()

关键字更改时如何更新列表?

4

1 回答 1

1

更改时keyword,您必须itemUseCase.getItems(keyword)再次调用。

看看这个项目。它是用 Java 编写的,但它展示了如何使用 PagingLibrary 实现搜索场景。

有关更多详细信息,请参阅此答案

于 2020-01-15T12:20:13.220 回答