2

我在我的设备上创建了一个房间数据库,它返回

// 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")
    }
}

问题是,虽然我的数据源(房间数据库)不包含任何条目,但边界回调不会被调用。你有什么线索可能是什么问题吗?

4

0 回答 0