フッターを作成する2016年12月05日(編集2016年12月05日)TweetAndroidアプリで一覧データのUI(ユーザーインターフェース)を作成する場合は、ListViewかRecyclerViewを使います。この記事は、RecyclerViewでフッターを作成する方法を記載した記事です。中級者向けサンプルコードAndroid-RecyclerView-DemoRecyclerViewRecyclerViewは一覧表示の実装に利用するクラスです。ListViewを使うより、表現力のある、柔軟なユーザーインターフェースを作成できます。今回の記事で説明をするフッターの作成は、一覧表示の実装を理解している必要があります。理解不足の場合、まずはこちらの記事を読んで理解してください。appRecyclerView実装RecyclerViewを利用しているFragmentにフッター処理を実装します。}}フッターは2種類実装しています。一つはデータローディング時のフッターで、もう一つは全てのデータ表示後のフッターです。フッター追加処理フッター追加処理を実装します。リストデータを取得後に以下の処理を追加します。item_footer);}RecyclerView自身は、フッター処理がありません。フッター処理はRecyclerViewに実装するのではなく、リストデータにフッターデータを追加して対応します。このサンプルでは、最後のデータの次にフッター用のデータを追加します。フッター用のデータフッターの種類は2種類用意します。一つはデータLoading時のフッターで、もう一つは全てのデータ表示後のフッターです。Barを利用するフッター(TYPE_LOADING_FOOTER)を使います。Barのない通常フッター(TYPE_FOOTER)を使います。フッター削除処理フッター削除処理を実装します。新しいリストデータを取得後に、以前のリストデータに含まれるフッターデータを削除します。}}リストのフッターはindexの最後の位置になります。0,1...20,21...39,footerRecyclerView.Adapter実装RecyclerView.Adapterにフッター処理を実装します。RecyclerView.Adapterは、データ単位でviewオブジェクトを管理します。定数はviewの種類です。3;TYPE_LISTは、画面に表示するデータ項目です。TYPE_LOADING_FOOTERは、画面下で表示するローディングフッターです。TYPE_FOOTERは、全てのデータを取得後の画面下に表示するフッターです。一覧表示は、リストに含まれているデータによって表示するviewを変更する必要があります。いった場合、getItemViewTypeメソッドをオーバーライドします。}}isLoadingFooterメソッドやisFooterメソッドを呼び出してデータの種類を判断します。これらのメソッドはアイテムオブジェクトで実装します。viewの生成viewの生成は、onCreateViewHolderメソッドを使います。引数viewTypeで生成するオブジェクトを切り替えます。viewのデータ設定viewのデータ設定は、onBindViewHolderメソッドを使います。フッターの場合は、何もしません。return;}ビルド上記のコードの動作を確認してみましょう。app二種類のフッターが実装できました。実装のポイント実装のポイントは、データで表示オブジェクトを決めることです。RecyclerViewは一覧データを表示するために使います。画面にヘッダーやフッターが必要になると、ヘッダーとフッターを画面の一部と認識し、データと分離して考えてしまいがちです。RecyclerViewでは、ヘッダーやフッターもデータの一部と捉えます。リストに含まれているデータによってviewを切り替えると考えると実装しやすいと思います。結論ListViewに慣れていると、RecyclerViewでフッターを実装する場合に、考え方を変える必要があります。RecyclerViewは柔軟なので、慣れると色々なUIを作成することができます。実装して、実装可能なパターンを増やしていってください。