状況によっては、 を使用してリストを作成し、 、またはViewGroupのように機能させる方がよい場合があります。ListViewRecyclerView
たとえばViewGroup、ルート レイアウトの子である にアイテムのリストを表示する必要がある状況があります。ルート レイアウトはスクロール可能 (たとえば aScrollViewまたは) であるため、別のスクロールを使用してリスト項目を表示NestedScrollViewすることは不適切です。View
この例としては、リスト アイテムを表示することがCardView考えられます (もちろん、この場合、カードはこの目的ではないため、あまり多くのリスト アイテムは必要ありません)。特にカードがスクロール ルート レイアウトの一部である場合、カード内でスクロール レイアウトを使用することは明らかに適切ではありません。
別の例として、Navigation Drawer を作成することもできます (もちろん、Google I/O 2015 以降ではDesign Support Libraryがあるため、 を使用するNavigationView方がはるかに簡単で簡単です)。しかし、デザイン サポート ライブラリの前に、ドロワーのルート レイアウトをスクロール可能にする必要があったため、ナビゲーション ドロワーに表示するアイテムをViewGroup(おそらく aに)LinearLayout設定する必要がありました。このシナリオの詳細については、同様の質問をしました .
問題のポイントは、 をリスト レイアウトとして使用する簡単な方法がないということですViewGroup。そのため、私たちの多くは複雑なソリューションを使用してListViewやのスクロールを無効にする傾向がありますRecyclerView。はい、 のスクロールはListView無効にできますが、通常はまだ Lint 警告が表示されます。したがって、リストの使用ViewGroupは、 scroll でスクロールを無効にする代替ソリューションと考えることができますView。
ViewGroups をリストとして使用する簡単な方法はありますか?