問題タブ [android-paging-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
183 参照

android-room - ページング 3 ページャー内の部屋からページング ソースを取得しようとすると、「メイン スレッドでデータベースにアクセスできません」というエラーが表示される

E/ROOM: 無効化トラッカーを実行できません。データベースは閉じていますか?java.lang.IllegalStateException: UI が長時間ロックされる可能性があるため、メイン スレッドでデータベースにアクセスできません。androidx.room.RoomDatabase.assertNotMainThread(RoomDatabase.java:385) で androidx.room.RoomDatabase.query(RoomDatabase.java:441) で androidx.room.RoomDatabase.query(RoomDatabase.java:429) で androidx.room. InvalidationTracker$1.checkUpdatedTable(InvalidationTracker.java:461) で androidx.room.InvalidationTracker$1.run(InvalidationTracker.java:431) で androidx.room.InvalidationTracker.refreshVersionsSync(InvalidationTracker.java:513) で androidx.room.paging.LimitOffsetDataSource .isInvalid(LimitOffsetDataSource.java:101) at androidx.paging.LegacyPagingSource.(LegacyPagingSource.kt:50) at androidx.paging.DataSource$Factory$asPagingSourceFactory$1.

このエラーを解決するにはどうすればよいですか?

0 投票する
0 に答える
50 参照

android - Paging 3 ライブラリを使用してページ リストと一緒にメタデータを渡す方法

Android Paging 3 ベータ ライブラリを使用して、リサイクラー ビューでページ分割されたリストを読み込み、MVVM アーキテクチャを使用しています。

ページに関する一般的な情報などの追加のメタ データをビューに渡す必要がありますが、PagingSource.LoadResult.Pageはアイテムのリストのみをビューに返すように設計されています。

ここに私が考えたいくつかのオプションがあります:

  • ライブデータを使用してメタデータを個別に渡す
  • データベースまたはメモリ内キャッシュから直接メタデータを読み取る

最善のアプローチは何ですか?他のより良い提案はありますか?