Android 5.0 の RecyclerView へのヘッダーとフッターの追加
RecyclerView にヘッダーとフッターを追加すると、データ リストの表示と機能を強化できます。ただし、元の質問で示されているように、プロセスでは課題が発生する場合があります。これらの問題に対処するために、提供されているコード スニペットを詳しく調べて、ヘッダーとフッターを含むカスタム アダプターを作成するための別のアプローチを検討してみましょう。
初期試行:
元のコードLayoutManager.addView(View view) を使用して、RecyclerView にヘッダーを追加しようとします。ただし、LayoutManager を介してビューを追加することは、ヘッダーとフッターを管理するための意図された方法ではないため、この方法では NullPointerException が発生します。 LayoutManager を使用すると、RecyclerView のリサイクル機能を維持しながらヘッダーとフッターの表示を処理するカスタム アダプターを作成できます。このアプローチには、2 種類の ViewHolder クラスの定義が含まれます。1 つはヘッダー/フッター用、もう 1 つはデータ項目用です。
ViewHolder.bindView()
ViewHolder クラスの内部、アダプター内の項目ごとに呼び出される、bindView() メソッドを実装します。このメソッドは、項目のデータをビューにバインドできます。フッターを追加する場合、FooterViewHolder クラスの bindingView() メソッドは空にすることも、必要なアクションを実行することもできます。
onCreateViewHolder()
の onCreateViewHolder() メソッドカスタム アダプターでは、項目の位置に基づいて適切な ViewHolder をインフレートしてインスタンス化します。 Position パラメーターは、リスト内の項目の現在のインデックスを提供します。
getItemViewType()
getItemViewType() をオーバーライドすると、作成するビューのタイプを指定できます。特定のアイテムの位置に対して。たとえば、ヘッダー、データ項目、およびフッターがある場合、FOOTER_VIEW、NORMAL_VIEW、および HEADER_VIEW に対して異なる値を返すことができます。
getItemCount()
ヘッダーとフッターを考慮して getItemCount() を調整します。戻り値にフッター、ヘッダー、およびデータ項目の数を含めます。
実装例:
このカスタム アダプターを利用して、シームレスに追加できるようになりました。アイテムのリサイクルの利点を維持しながら、ヘッダーとフッターを RecyclerView に追加します。以上がカスタム アダプターを使用して Android 5.0 の RecyclerView にヘッダーとフッターを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。