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

Android 5.0 の RecyclerView にヘッダーとフッターを追加するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-12 17:49:01956ブラウズ

How to Add Headers and Footers to a RecyclerView in Android 5.0?

Android 5.0 の RecyclerView へのヘッダーとフッターの追加

Android 5.0 の RecyclerView は、アイテムのリストを表示する便利な方法を提供します。ただし、リストにヘッダーとフッターを追加するのは少し難しい場合があります。これを実現する方法は次のとおりです:

ヘッダーの追加:

  1. ヘッダー用の新しいレイアウト ファイル (例: header_layout.xml) を作成します。
  2. RecyclerView の onCreate() メソッドでヘッダー レイアウトをインフレートします。アダプター:
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
headerPlaceHolder = inflater.inflate(R.layout.header_layout, null, false);
  1. addView() メソッドを使用してヘッダー ビューを LayoutManager に追加します:
layouManager.addView(headerPlaceHolder, 0);

フッターの追加:

  1. 新しいレイアウトを作成するフッターのファイル (footer_layout.xml など)。
  2. RecyclerView アダプターの onCreate() メソッドでフッター レイアウトを拡張します。
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
footerPlaceHolder = inflater.inflate(R.layout.footer_layout, null, false);
  1. addView() を使用して LayoutManager にフッター ビューを追加するMethod:
layouManager.addView(footerPlaceHolder);

さまざまな LayoutManager に関する考慮事項:

  • LinearLayoutManager: addView() メソッドは、の指定された位置にあるヘッダーまたはフッター ビューヘッダーまたはフッターが占めるスパンの数を制御するには、新しい SpanSizeLookup クラスを作成し、GridLayoutManager に設定する必要があります。 view.
  • 注:
GridLayoutManager.SpanSizeLookup spanSizeLookup = new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        if (position == 0 || position == data.size()) {
            return gridLayoutManager.getSpanCount();
        } else {
            return 1;
        }
    }
};
gridLayoutManager.setSpanSizeLookup(spanSizeLookup);

RecyclerView アダプターの getItemCount() メソッドは、データ項目の数に数値を加えた値を返す必要があります。

getItemViewType() メソッドは、追加されたヘッダーとフッターの一意の ID を返す必要があります。ヘッダー、フッター、および通常のデータ項目。
  • 次の手順に従うことで、Android 5.0 以降の RecyclerView にヘッダーとフッターを簡単に追加できます。

以上がAndroid 5.0 の RecyclerView にヘッダーとフッターを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。