RecyclerViewクラス

ViewクラスRecyclerViewクラス

RecyclerViewクラスとは?

 状態:-  閲覧数:638  投稿日:2018-06-23  更新日:2018-09-09  

ListViewをさらに進化させて柔軟にしたクラス


画面内に表示できるだけの子ViewをAdapterから受け取り、使わなくなったViewを再利用(リサイクル)することでスクロール時のパフォーマンスを向上させる

カスタマイズ性の高いListView
・従来のListViewよりレイアウトやアニメーションを自由にカスタマイズすることができる

注意点
・ヘッダー、フッターは存在しない
・区切り線を自身で実装する必要がある

レイアウトを決定するLayoutManagerが必要


RecyclerView.LayoutManager
・1つ分のデータのサイズなどを考慮して、レスポンシブにレイアウトを管理するクラス
・RecyclerView のレイアウトを決定
・ View の初期配置と、スクロール時の View の移動を担当
※ListViewには存在しない

使用例1
protected void onCreate(Bundle savedInstanceState) {
 //中略

 RecyclerView rv = (RecyclerView) findViewById(R.id.casarealRecyclerView);

 //中略

 LinearLayoutManager llm = new LinearLayoutManager(this);

 //中略

 rv.setLayoutManager(llm);


使用例2
protected void onCreate(Bundle savedInstanceState) {
 //中略
 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.cardList); //RecyclerViewオブジェクトを取得

 //中略

 // RecyclerViewにはレイアウトを決めるレイアウトマネージャー(LayoutManager)が必要なので、LinearLayoutManagerを生成している
 LinearLayoutManager llManager = new LinearLayoutManager(this);
 // 横スクロールになる
 // llManager.setOrientation(LinearLayoutManager.HORIZONTAL); //スクロールする方向を決定。LinearLayoutManager.HORIZONTALなので横方向にスクロール
 // 縦スクロール
 llManager.setOrientation(LinearLayoutManager.VERTICAL); //スクロールする方向を決定。LinearLayoutManager.VERTICALなので縦方向にスクロール
 
 recyclerView.setLayoutManager(llManager); //RecyclerViewにLinearLayoutManagerをセットする



RecyclerViewの基本
拡張性は無限大!Android の新コンポーネント RecyclerView の真価を探る

クラス構成

 閲覧数:289 投稿日:2018-07-28 更新日:2018-09-07 

パッケージ


Android Support Library パッケージ
android.support.v7.widget

親クラス


java.lang.Object
  ↳ android.view.View
     ↳ android.view.ViewGroup
        ↳ android.support.v7.widget.RecyclerView

Known Direct Subclasses


LinearLayoutManager


RecyclerView.Adapter抽象クラス

 閲覧数:271 投稿日:2018-08-14 更新日:2018-08-19 

抽象メソッド


抽象クラスを継承したサブクラスでは、抽象メソッドを必ず実装しなければいけない

summary

getItemCount()メソッド

onBindViewHolder(VH holder, int position)メソッド
・Viewの内容を交換する(リサイクルだから)
・レイアウトマネージャーにより起動される

onCreateViewHolder(ViewGroup parent, int viewType)メソッド
・新しいViewを作成する
・レイアウトマネージャーにより起動される


RecyclerView.Adapter 
抽象クラス


コメント投稿(ログインが必要)