ReyclerViewで基本的な使い方手順
ISUCONの話を読んで、もっとコードがうまくなりたい、コードが上手いってかっこいいって思い出せてよかったです。
RecyclerView
で少しややこしいことをしたくて、 ListView
のやり方をそのまま当てはめて書いたら自爆したので、
初心に立ち返って基本的な使い方の手順をおさらいする。
RecyclerViewの準備
gradle
のdependencies
にcom.android.support:recyclerview-v7:+(バージョンは適宜入れる)
を追加してリビルドandroid.support.v7.widget.RecyclerView
の要素をRecyclerView
を利用したいActivity
のxmlなどに配置(onCreate()
の関数等で動的に配置してもいいと思う)。RecyclerView
の1行ずつの要素の表示を担当するレイアウトリソースを用意。ViewHolder
クラスの作成。RecyclerView.Adapter<ViewHolder>
の作成。RecyclerView.Adapter
はRecyclerView
で表示するデータの集合であるList<T>
中のデータとViewHolder
のView
を結びつける役割。onCreateViewHolder
でViewHolder
のインスタンスをLayoutInflater
から生成。onBindViewHolder
でデータをView
に反映させる。またデータ数のカウントや、データが使うViewType
の判定処理も扱っている。
RecyclerViewを利用する側のクラス
Activity
などのクラスの中で、作成したandroid.support.v7.widget.RecyclerView
の要素をfindViewById
などで取得Activity
などのクラスの中で、RecyclerView
のlayoutManager
属性に指定してあるLayoutManager
のインスタンスを生成LayoutManager
のインスタンスをRecyclerView
のインスタンスにセット- 扱うデータ
List<T>
を取得する ArrayAdapter
をList<T>
とActivity
を引数に与えて生成ArrayAdapter
をRecyclerView
にセット
RecyclerView
、こうして書くとView
というより親玉っぽい。
下記の本にはもっと詳しく書いてありましたが、ひよっこには本を読み進める前にまずこれくらいの大雑把な使い方が一通りあるほうが安心な気がしたのでまとめました。