RecyclerViewの基本


RecyclerViewの基本

ListView, RecyclerViewで差がないことについては、こちらのListViewの基本で書きました。
ここではRecyclerViewに特有のことだけ書きます。

LayoutManager

ListViewとちがい、RecyclerViewではViewの表示の仕方を制御するクラスとして、RecyclerView.LayoutManagerを継承したクラスが必要になる。
ただ、単にリスト表示させたいだけなら(その他グリッド表示とかも)出来合いのクラスのLinerLayoutManagerなどがあるのでそれで足りる。

Adapter

Adapterを作って、RecyclerViewの子Viewを作らせるのは、ListViewと変わらない。
ただRecyclerViewの場合は、RecyclerView.Adapter型のAdapterにする必要がある。
※ListViewではAdapterを使っていたので、含まれるメソッドの構成などがかなり違う。

  • getItemCount()
    • データの個数を返す
  • onCreateViewHolder()
    • viewを生成したものをViewHolderに入れて返す
  • onBindViewHolder()
    • ViewHolderの特定の位置にデータをセットする

ちなみに、上記のようなメソッドがある通り、ViewHolderの実装が必須になっている。
また、Adopterは、ListViewの時と同じく、何らかの方法で表示用のデータを保持しておく必要がある。(一番基本のパターンだと、表示用のPOJOのモデルクラスをArrayで持っておくなど)