了解RecyclerView

时间:2015-11-16 19:25:08

标签: android-recyclerview

假设我们有一个包含100行的RecyclerView。每行包含一个Spinner,其值为1-5(默认值为1)。

我向下滚动到项目行#100,将其值更改为5,然后向上滚动到第1行,我的问题是:

当我再次向下滚动到第100行时,我会看到之前选择的值为5的Spinner吗?或者默认值为1,因为RecyclerView将回收项目以供重复使用(性能提升),而不是将所有100行保留在内存中。

很想得到关于它是如何工作的一个很好的解释。

1 个答案:

答案 0 :(得分:1)

就像你说的那样,RecyclerView将不会在内存中保留100行,因此名称 Recycler 查看。 RecyclerView将保留多少相同布局的视图取决于它们在屏幕上的适合度。

当您将项目#100的值更改为5时,您正在更改其中一个回收的视图。现在,在您修改ViewHolder之前(通常在onBindViewHolder()中完成),视图将保持不变,这意味着特定的ViewHolder仍然会有5 Spinner值;在列表中的任何位置,不一定如果向下滚动到#100的项目,您将看到一个Spinner值为5的项目。