Android Kotlin基礎講座 07.5:RecyclerViewのヘッダー
目次
まとめ
- ヘッダーは一般的にはタイトルやセパレーターとしての役割を持つアイテムです。一つのリストには、アイテムの内容を表示するための一つのヘッダーがある場合、またはアイテムをグループ化するためや他のアイテムから切り離すために複数のヘッダーが含まれる場合があります。
- RecyclerViewは複数のビューホルダーを使って異なるタイプのアイテムのセットを収容することができます。例としてヘッダーとリストのアイテムなどがあります。
- ヘッダーを追加する方法の一つは、アダプターを変更し、ヘッダーがどこに表示されるべきかをインデックスで調べて別のViewHolderを使う方法です。
Adapterはヘッダーの情報を保持する役割を担います。 - もう一つの方法はグリッド用のバッキングデータセット(リスト)修正する方法です。今回の記事で解説したものになります。
以下がヘッダーを追加するための主な手順になります。
- ヘッダーとデータ両方を保持できるDataItemを作成することによって、リスト内のデータを抽象化する。
- アダプター内で、ヘッダー用のレイアウトを使ってビューホルダーを作成する。
- アダプターとアダプターのメソッドをどの種類のRecyclerView.ViewHolderでも使えるように更新する。
- onCreateViewHolder()内で、データアイテム用の正しいタイプのビューホルダーを返す。
- SleepNightDiffCallbackを更新して、DataItemクラスと共に動作するようにする。
- ヘッダーをデータセットに追加するためにコルーチンを使い、その後submitList()を呼び出すaddHeaderAndSubmitList()関数を作成する。
- ヘッダーのみが三つ分のスパンを取るようにするためにGridLayoutManager.SpanSizeLookup()を実装する。
お疲れさまでした。次の講座は 8.1 インターネットからデータを取得するです。
おすすめ書籍
Kotlinの文法をまず学びたい!という方には以下の書籍がおすすめです。Kotlinは日本語書籍がまだ豊富とは言えない状況ですが、細かく解説されており、Kotlin入門者のかたでもつまずくことなく学習できると思います。
[itemlink post_id=”1743″]実際にアプリを作りながら覚えていきたい!という方には以下もお勧めです。はじめに上の書籍で文法をさらっと学んでから取り組むのがお勧めです。
[itemlink post_id=”1745″]