我在我的设备上创建了一个房间数据库,它返回
// The Int type parameter tells Room to use a PositionalDataSource object.
@Query("SELECT * FROM Word ORDER BY id")
abstract fun getByFactory(): DataSource.Factory<Int, Word>
然后在我的存储库中使用这个工厂调用,在那里我将它与我的 boundaryCallback 连接起来
val boundaryCallback = MyBoundaryCallback()
return wordDao.getByFactory().toLiveData(
pageSize = 20,
boundaryCallback = boundaryCallback
)
我的边界回调是基本的,看起来像这样
class MyBoundaryCallback() : PagedList.BoundaryCallback<Word>() {
val int = 0;
@MainThread
override fun onItemAtFrontLoaded(itemAtFront: Word) {
Timber.d("hello")
}
@MainThread
override fun onZeroItemsLoaded() {
Timber.d("hello")
}
@MainThread
override fun onItemAtEndLoaded(itemAtEnd: Word) {
Timber.d("hello")
}
}
问题是,虽然我的数据源(房间数据库)不包含任何条目,但边界回调不会被调用。你有什么线索可能是什么问题吗?