問題タブ [android-paging-library]

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

android - RecyclerView は Paging Library と PositionalDataSource で空のまま

プロジェクトで Android Paging ライブラリを構成して、ページ分割されたメッセージのリストを RecyclerView にロードしようとしています。私の API はオフセットと最大値を使用するため、PositionalDataSource を使用しています。

ここに、DataStore が RetroFit を使用してメッセージをロードする DataSource 実装を示します。メッセージが適切にロードされ、MessageListItem のインスタンスに変換されていることをコンソールで確認できます。

ここに私の DataSourceFactory 実装があります:

これが私の MessageListAdapter 実装です:

そして最後に私のViewModel:

次に示すのは、messageList と呼ばれるリサイクラー ビューを表示することになっているフラグメントの onViewCreated 実装です。

問題は、データがサーバーからロードされていることを確認できますが、リサイクラー ビューに到達しないことです。オブザーバー行 ( messageListAdapter.submitList(messages)) にブレークポイントを追加すると、空のメッセージ リストで 1 回呼び出しが行われ、それだけです。

私はこれらすべてのクラスとそれらが何をすべきかについて本当に混乱していることを認めなければなりません. Room データベース、RxJava、または PageKeyedDataSource。ほとんどのサンプルが行っています。

何が起こっているのでしょうか?