Most visited

Recently visited

RecyclerView.Recycler

public final class RecyclerView.Recycler
extends Object

java.lang.Object
   ↳ android.support.v7.widget.RecyclerView.Recycler


回收站负责管理报废或分离的物料视图以供重复使用。

“已报废”视图是仍然附加到其父级RecyclerView的视图,但已标记为要删除或重新使用。

RecyclerView.LayoutManager对Recycler的典型用法是获取代表给定位置或项目ID处数据的适配器数据集的视图。 如果要重用的视图被认为是“脏的”,那么适配器将被要求重新绑定它。 如果没有,该视图可以被LayoutManager快速重用,而无需进一步的工作。 没有重新测量,可以通过LayoutManager重新定位没有requested layout清洁视图。

Summary

Public constructors

RecyclerView.Recycler()

Public methods

void bindViewToPosition(View view, int position)

将给定的视图绑定到该位置。

void clear()

清除此回收商的废料视图。

int convertPreLayoutPositionToPostLayout(int position)

RecyclerView提供预布局状态下的人工位置范围(项目计数),并在 getViewForPosition(int)bindViewToPosition(View, int)时自动将这些位置映射到 RecyclerView.Adapter位置。

List<RecyclerView.ViewHolder> getScrapList()

返回当前位于废料列表中的不可修改的ViewHolders列表。

View getViewForPosition(int position)

获取为给定位置初始化的视图。

void recycleView(View view)

回收分离的视图。

void setViewCacheSize(int viewCount)

设置我们应保留以供将来使用的分离的有效视图的最大数量。

Inherited methods

From class java.lang.Object

Public constructors

RecyclerView.Recycler

RecyclerView.Recycler ()

Public methods

bindViewToPosition

void bindViewToPosition (View view, 
                int position)

将给定的视图绑定到该位置。 该视图可以是以前通过getViewForPosition(int)检索的视图或由onCreateViewHolder(ViewGroup, int)创建的onCreateViewHolder(ViewGroup, int)

通常,LayoutManager应通过getViewForPosition(int)获取其视图,并让RecyclerView处理缓存。 这是LayoutManager想要处理自己的回收逻辑的帮助方法。

请注意, getViewForPosition(int)已将视图绑定到位置,因此除非要将此视图绑定到另一个位置,否则不需要调用此方法。

Parameters
view View: The view to update.
position int: The position of the item to bind to this View.

clear

void clear ()

清除此回收商的废料视图。 包含在回收视图池中的分离视图将保留。

convertPreLayoutPositionToPostLayout

int convertPreLayoutPositionToPostLayout (int position)

RecyclerView提供布局前布局状态下的人工位置范围(项目数),并在 getViewForPosition(int)bindViewToPosition(View, int)时自动将这些位置映射到 RecyclerView.Adapter位置。

通常情况下,LayoutManager不需要担心这一点。 但是,在某些情况下,LayoutManager可能需要调用某个具有项目位置的自定义组件,在这种情况下,您需要实际的适配器位置而不是预布局位置。 您可以使用此方法将预布置位置转换为适配器(后布局)位置。

请注意,如果提供的位置属于已删除的ViewHolder,则此方法将返回-1。

在布置后状态中调用此方法会返回相同的值。

Parameters
position int: The pre-layout position to convert. Must be greater or equal to 0 and less than getItemCount().
Returns
int

getScrapList

List<RecyclerView.ViewHolder> getScrapList ()

返回当前位于废料列表中的不可修改的ViewHolders列表。

Returns
List<RecyclerView.ViewHolder> List of ViewHolders in the scrap list.

getViewForPosition

View getViewForPosition (int position)

获取为给定位置初始化的视图。 应该使用RecyclerView.LayoutManager实现来使用此方法来获取视图,以表示来自RecyclerView.Adapter数据。

如果可用于正确的视图类型,则Recycler可以重用共享池中的废料视图或分离视图。 如果适配器未指示给定位置的数据已更改,则Recycler将尝试返回之前为该数据初始化的废料视图,而不重新绑定。

Parameters
position int: Position to obtain a view for
Returns
View A view representing the data at position from adapter

recycleView

void recycleView (View view)

回收分离的视图。 指定的视图将被添加到视图池中,供以后重新绑定和重用。

视图必须完全分离(从父视图中移除)才能被回收。 如果视图被废弃,它将从废料清单中删除。

Parameters
view View: Removed view for recycling

也可以看看:

setViewCacheSize

void setViewCacheSize (int viewCount)

设置我们应保留以供将来使用的分离的有效视图的最大数量。

Parameters
viewCount int: Number of views to keep before sending views to the shared pool

Hooray!