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