1

在某些情况下,最好使用 aViewGroup创建列表,充当类似于 aListView或的东西RecyclerView

例如,我有一种情况,我需要在ViewGroup作为根布局的子项的 a 中显示项目列表。根布局是可滚动的(例如 aScrollViewNestedScrollView),因此使用另一个滚动View来显示列表项是不合适的。

这方面的一个示例可能是在 a 中显示列表项CardView(当然,在这种情况下,您不会想要太多的列表项,因为卡片并不适用于此)。在卡片中使用滚动布局显然是不正确的,尤其是当卡片是滚动根布局的一部分时。

另一个例子是创建一个 Navigation Drawer(当然在 Google I/O 2015 之后,有Design Support Library,所以使用 aNavigationView会简单得多)。但是在设计支持库之前,您必须填充一个ViewGroup(可能是LinearLayout在导航抽屉中显示的项目,因为抽屉的根布局必须是可滚动的。有关此场景的更多信息,我问了一个类似的问题

问题的关键在于,没有简单的方法可以将 aViewGroup用作列表布局,因此我们中的许多人倾向于使用复杂的解决方案来禁用 aListView或的滚动RecyclerView。是的,ListView可以禁用滚动,但通常仍会出现 Lint 警告。因此,使用列表也可以被认为是在 scroll sViewGroup上禁用滚动的替代解决方案View

那么有没有一种简单的方法可以将ViewGroups 用作列表?

4

1 回答 1

0

受 Google 如何LinearLayout在 Navigation Drawer 中填充列表项的启发,在他们 2014 年的 Google I/O 应用程序中,我创建了一个可以在ViewGroup.

标题为 的要点ViewGroupAdapter可在此处找到

如果此解决方案变得流行,我将继续更新和改进 Gist。

于 2015-08-25T16:52:44.813 回答