問題タブ [android-paging]

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 投票する
1 に答える
802 参照

android - ページング アーキテクチャ コンポーネントを使用したページネーションのデバッグ

そのため、Room データベースを使用してページング ライブラリを使用して簡単なメモ機能を作成しましLiveDataたが、実際には何もページ付けされていません。おそらく、ページネーションが行われていることを確認するために正しくデバッグしていません。アドバイスをいただければ幸いです。

私のDAOで:

次に、を からにNotesRepository変換して、データ レイヤーの実装の詳細とアプリの残りの部分を分離します (私はクリーン アーキテクチャのファンです)。したがって、結果は次のとおりです。NoteEntityNoteDataSource.Factory<Int, Note>

私のViewModel場所PAGE_SIZEは20です:

Noteは単純です:

次に、メモを に表示していますRecyclerView

私のViewHolder内容:

私のAdapter内容:

そして私のFragment内容:

RecyclerView のデータが正常に読み込まれ、各アイテムがバインドされるとデバッグ ログが表示されます。私の理解ではPagedListAdapter、ユーザーがスクロールするときにリクエストの新しいページを使用PagedListし、バックグラウンド スレッドで違いを計算して新しい s を処理します。

私のデータ ソースには 100 個のアイテムが含まれているため、ページ サイズが 20 の場合、平均的なサイズの電話でテストすると、データに対して 5 回の呼び出しが行われると予想されます。

これをデバッグして正しい呼び出し数を確認するにはどうすればよいですか? また、上記の実装では、これらのいずれか (PositionalDataSource、ItemKeyedDataSource、または PageKeyedDataSource) がデフォルトで使用されていますか?