質問: **RecyclerView と ScrollView では何が違うのでしょうか?** ・RecyclerViewの方が新しい? ・RecyclerViewは、ScrollView の上位互換?(ScrollViewで出来ることはRecyclerViewでも出来る?) ・ListView と Adapter は、ScrollView では使用不可? ・それぞれどういった時に、どういった理由で使用するのでしょうか?
回答: **RecyclerViewについて** RecyclerViewは、どちらかというとListViewやGridViewの上位互換です。画面内に表示できるだけの子ViewをAdapterから受け取り、使わなくなったViewを再利用(リサイクル)することでスクロール時のパフォーマンスを向上させる点で、ListViewなどと近い仕組みになっています。 ListViewなどの古いAPIに比べて、RecyclerViewはカスマイズ性が高いです。 * LayoutManager: レイアウトの仕方を設定できる。リスト、グリッド、etc... 横方向のスクロールにも対応 * Adapter: viewTypeの切り替えによって複数の種類の子Viewを扱える * ViewHolder: Viewのリサイクル時のパフォーマンスを向上させる * ItemAnimator: アイテムの追加時・削除時などにアニメーションを付けられる * ItemDecoration: アイテムに装飾を付けられる。リストの区切り線など * ItemTouchHelper: アイテムのドラッグ&ドロップやスワイプ時の挙動を実装できる という感じなので、今から勉強されるのでしたらRecyclerViewの方ができることが多くオススメです。 **ScrollViewについて** ScrollViewは、中に入れた1つのレイアウト(LinearLayoutなど)の高さを元にスクロールできるようにするものです。RecyclerViewなどのようにパフォーマンス向上のための仕組みはないので、あまり多くのコンテンツを入れすぎると表示が重くなります。また、Adapterから子Viewを受け取る機構もないので自分でViewを追加していく感じになります。 2つの使い分けとしては、表示したいアイテムの数が多かったりいくつになるのか分からない時はRecyclerView、固定のコンテンツをスクロールさせたい時はScrollViewという感じです。