1

状況によっては、 を使用してリストを作成し、 、または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 をリストとして使用する簡単な方法はありますか?

4

1 に答える 1

0

LinearLayout2014 年の Google I/O アプリで、Google が Navigation Drawerの にリスト アイテムを入力する方法に着想を得て、リスト アイテムを に入力できる Gist を作成しましたViewGroup

というタイトルの Gist は、ViewGroupAdapterここにあります

このソリューションが普及すれば、Gist の更新と改善を続けます。

于 2015-08-25T16:52:44.813 に答える