ホームページ > Java > &#&チュートリアル > カスタム アダプターを使用して Android 5.0 の RecyclerView にヘッダーとフッターを追加するにはどうすればよいですか?

カスタム アダプターを使用して Android 5.0 の RecyclerView にヘッダーとフッターを追加するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-09 14:27:02
オリジナル
491 人が閲覧しました

How do I add headers and footers to a RecyclerView in Android 5.0 using a custom adapter?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート