Android 是否将视图组用作列表?

Android 是否将视图组用作列表?,android,list,android-listview,android-recyclerview,android-viewgroup,Android,List,Android Listview,Android Recyclerview,Android Viewgroup,在某些情况下,最好使用a来创建列表,类似于或。 例如,我需要在视图组中显示项目列表,该视图组是根布局的子级根布局是可滚动的(例如,或),因此不适合使用另一个滚动查看来显示列表项。 这方面的一个例子可能是在中显示列表项(当然,在这种情况下,您不会想要太多的列表项,因为卡片不适合这种情况)。在卡片中使用滚动布局显然是不对的,尤其是如果卡片是滚动根布局的一部分 另一个例子可能是创建一个导航抽屉(当然,在Google I/O 2015之后,还有设计支持库,因此使用导航抽屉将更加简单和容易)。但是在设计支

在某些情况下,最好使用a来创建列表,类似于或。

例如,我需要在
视图组
中显示项目列表,该视图组是根布局的子级根布局是可滚动的(例如,或),因此不适合使用另一个滚动查看来显示列表项。

这方面的一个例子可能是在中显示列表项(当然,在这种情况下,您不会想要太多的列表项,因为卡片不适合这种情况)。在卡片中使用滚动布局显然是不对的,尤其是如果卡片是滚动根布局的一部分

另一个例子可能是创建一个导航抽屉(当然,在Google I/O 2015之后,还有设计支持库,因此使用导航抽屉将更加简单和容易)。但是在设计支持库出现之前,您必须填充
视图组
(可能包含要在导航抽屉中显示的项目),因为抽屉的根布局必须是可滚动的。有关此场景的更多信息,我询问了

问题的关键在于,没有简单的方法可以将
视图组
用作列表布局,因此我们中的许多人倾向于使用复杂的解决方案来禁用
列表视图
回收视图
上的滚动。是的,
列表视图
上的滚动可以禁用,但通常仍然会有一个Lint警告。有因此,使用
视图组
列表也可以作为禁用滚动
视图
s
上滚动的替代解决方案


那么,有没有一种简单的方法可以将
视图组作为列表使用呢?

受谷歌如何在导航抽屉中的
线性布局中填充列表项的启发,我在他们2014年的谷歌I/O应用程序中创建了一个要点,可以填充
视图组中的列表项

要点,标题为


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

受谷歌如何在导航抽屉中的
线性布局中填充列表项的启发,在他们2014年的谷歌I/O应用程序中,我创建了一个Gist,可以填充
视图组中的列表项

要点,标题为


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

但此适配器的问题是它不回收视图。因此,如果您有10个以上的视图,您将开始注意到性能下降。这不是一个适用于动态内容的可行解决方案。@DavidArgyleThacker Fair point,但我是有意的用于少量项目。如果项目数量超过一页长,则可能更适合使用滚动视图(即
列表视图
回收视图
)。不过,我以后可能会决定添加改进。不过,此适配器的问题是它不回收视图。因此,如果您有10个以上的视图,您将开始注意到性能下降。这不是一个适用于动态内容的可行解决方案。@DavidArgyleThacker Fair point,但我打算将其用于少量items.如果项目数量超过一页长,则可能更适合使用滚动视图(即
列表视图
回收视图
)。不过,我可能会在稍后决定添加改进。