Android RecyclerView ページングリスナーを自作する

こんにちは、お久しぶりです。

今回はRecyclerViewのページングリスナーを自作したので共有します。
どうしてJetpack Paging Libraryを使わないのかという経緯もご説明します。

コード

とりあえず全体のコードを先に載せてしまいます。
すべてのLayoutManagerに対応しています。
特にStaggeredGridLayoutManagerは結構苦労しました。
また、任意にページング取得開始位置なども設定できるのでよしなに変えてください。

  • LinearLayoutManager
  • GridLayoutManager
  • StaggeredGridLayoutManager

gist98be509fb1fa74dcc73e278085c87964

あとは、recyclerViewのaddOnScrollListenerで追加してあげます。

Jetpack Paging Libraryを使わない経緯

Jetpack Paging Libraryは便利です。
実際に上記のコードを実装しなくてもページングを実現できます。

しかし、アイテムの要素を更新したい要望を実現するにはJetpack Roomを同時に使う必要があります。
ページングのためだけにデータ層まで変えないといけないのか??

これが非常に重荷だったので、今回は独自に作ることにしました。
とりあえず取得だけして表示だけするようなリストならJetpack Paging Libraryでも問題ないと思います。

以上です〜