woshidan's blog

あいとゆうきとITと、とっておきの話。

ReyclerViewで基本的な使い方手順

ISUCONの話を読んで、もっとコードがうまくなりたい、コードが上手いってかっこいいって思い出せてよかったです。

RecyclerView で少しややこしいことをしたくて、 ListViewのやり方をそのまま当てはめて書いたら自爆したので、 初心に立ち返って基本的な使い方の手順をおさらいする。

RecyclerViewの準備

  • gradledependenciescom.android.support:recyclerview-v7:+(バージョンは適宜入れる)を追加してリビルド
  • android.support.v7.widget.RecyclerView の要素をRecyclerViewを利用したいActivityxmlなどに配置(onCreate()の関数等で動的に配置してもいいと思う)。
  • RecyclerViewの1行ずつの要素の表示を担当するレイアウトリソースを用意。
  • ViewHolderクラスの作成。
  • RecyclerView.Adapter<ViewHolder> の作成。
    • RecyclerView.AdapterRecyclerViewで表示するデータの集合であるList<T>中のデータと ViewHolderViewを結びつける役割。
    • onCreateViewHolderViewHolderインスタンスLayoutInflaterから生成。
    • onBindViewHolderでデータをViewに反映させる。またデータ数のカウントや、データが使うViewTypeの判定処理も扱っている。

RecyclerViewを利用する側のクラス

  • Activityなどのクラスの中で、作成した android.support.v7.widget.RecyclerView の要素を findViewByIdなどで取得
  • Activity などのクラスの中で、RecyclerViewlayoutManager属性に指定してある LayoutManagerインスタンスを生成
  • LayoutManagerインスタンスRecyclerViewインスタンスにセット
  • 扱うデータ List<T>を取得する
  • ArrayAdapterList<T>Activityを引数に与えて生成
  • ArrayAdapterRecyclerViewにセット

RecyclerView、こうして書くとView というより親玉っぽい。

下記の本にはもっと詳しく書いてありましたが、ひよっこには本を読み進める前にまずこれくらいの大雑把な使い方が一通りあるほうが安心な気がしたのでまとめました。

techbooster.booth.pm