与ListView相比,RecyclerView有哪些优点?

我刚刚开始使用RecyclerView,我已经看到它缺less很多function,如页眉,页脚,分隔线,列表select器,现在我有使用它,而不是ListView的第二个想法。

RecyclerView与ListView相比有哪些优点和缺点? 它能处理比ListView更复杂的视图吗?

我一直在使用ListView和几个,现在是时候切换到RecyclerView或是现在呢?

Solutions Collecting From Web of "与ListView相比,RecyclerView有哪些优点?"

随着Android Lollipop的到来, RecyclerView正式开始了。 RecyclerView 比ListView强大,灵活,更重要 。 我会尽力给你一个详细的见解。

优点

1)ViewHolder模式

在ListView中,build议使用ViewHolder模式,但从来没有强制。 在使用RecyclerView的情况下,使用RecyclerView.ViewHolder类是必需的。 这是ListView和RecyclerView之间的主要区别之一。

它在RecyclerView中使事情变得复杂一些,但我们在ListView中遇到的很多问题都得到了有效的解决。

2)LayoutManager

这是给RecyclerView带来的另一个重大改进。 在ListView中,唯一可用的视图types是垂直的ListView。 甚至没有官方的方式来实现水平的ListView。

现在使用RecyclerView,我们可以有一个

i) LinearLayoutManager – 支持垂直和水平列表,

ii) StaggeredLayoutManager – 支持Pinterest的交错列表,

iii) GridLayoutManager – 支持在Gallery应用程序中看到的显示网格。

而最好的是,我们可以按照我们的要求dynamic地做所有这些事情。

3)项目animation师

ListView缺乏良好的animation支持,但RecyclerView带来了一个全新的维度。 使用RecyclerView.ItemAnimator类,animation视图变得非常简单和直观。

4)项目装饰

在ListViews的情况下,dynamic装饰项目,如添加边界或分隔线是不容易的。 但是在RecyclerView的情况下, RecyclerView.ItemDecorator类给开发人员提供了巨大的控制权,但是使事情变得更加耗时和复杂。

5)OnItemTouchListener

拦截ListView上的项目点击很简单,这要感谢它的AdapterView.OnItemClickListener接口。 但RecyclerView通过RecyclerView.OnItemTouchListener为开发人员提供了更多的权力和控制权,但是这对开发者来说却是复杂的。

缺点

我)这比列表视图更复杂。

ii)初学者可能花费很多时间来充分理解RecyclerView。

iii)它可能会不必要地使您的编码生活困难。

四)你将需要花费更多的时间,比你需要一个ListView