Most visited

Recently visited

ItemBridgeAdapter

public class ItemBridgeAdapter
extends Adapter implements FacetProviderAdapter

java.lang.Object
   ↳ android.support.v7.widget.RecyclerView.Adapter
     ↳ android.support.v17.leanback.widget.ItemBridgeAdapter


桥从PresenterRecyclerView.Adapter 公开以允许第三方演示者使用。

Summary

Nested classes

class ItemBridgeAdapter.AdapterListener

监听ViewHolder操作的接口。

class ItemBridgeAdapter.ViewHolder

ItemBridgeAdapter的ViewHolder。

class ItemBridgeAdapter.Wrapper

用于将Presenter创建的视图封装到另一个视图中的接口。

Public constructors

ItemBridgeAdapter(ObjectAdapter adapter, PresenterSelector presenterSelector)
ItemBridgeAdapter(ObjectAdapter adapter)
ItemBridgeAdapter()

Public methods

void clear()

清除适配器。

FacetProvider getFacetProvider(int type)

针对Adapter中的给定类型查询 FacetProvider

int getItemCount()

返回适配器持有的数据集中的项目总数。

long getItemId(int position)

position返回商品的稳定ID。

int getItemViewType(int position)

出于回收目的的目的,返回 position的物品视图类型。

ArrayList<Presenter> getPresenterMapper()

返回演示者映射器数组。

ItemBridgeAdapter.Wrapper getWrapper()

返回 ItemBridgeAdapter.Wrapper

final void onBindViewHolder(RecyclerView.ViewHolder holder, int position)

由RecyclerView调用以在指定位置显示数据。

final RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)

View.OnFocusChangeListener中分配的 onCreateViewHolder(ViewGroup)可以被链接,之后用户不应该改变 View.OnFocusChangeListener

final void onViewAttachedToWindow(RecyclerView.ViewHolder holder)

当此适配器创建的视图已附加到窗口时调用。

final void onViewDetachedFromWindow(RecyclerView.ViewHolder holder)

当此适配器创建的视图已从其窗口分离时调用。

final void onViewRecycled(RecyclerView.ViewHolder holder)

当此适配器创建的视图已被回收时调用。

void setAdapter(ObjectAdapter adapter)

设置 ObjectAdapter

void setAdapterListener(ItemBridgeAdapter.AdapterListener listener)

设置AdapterListener。

void setPresenterMapper(ArrayList<Presenter> presenters)

设置演示者映射器数组。

void setWrapper(ItemBridgeAdapter.Wrapper wrapper)

设置 ItemBridgeAdapter.Wrapper

Protected methods

void onAddPresenter(Presenter presenter, int type)

当演示者添加到适配器时调用。

void onAttachedToWindow(ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder已连接到窗口时调用。

void onBind(ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder绑定到数据时调用。

void onCreate(ItemBridgeAdapter.ViewHolder viewHolder)

ViewHolder创建时调用。

void onDetachedFromWindow(ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder从窗口中分离时调用。

void onUnbind(ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder从数据中解除绑定时调用。

Inherited methods

From class android.support.v7.widget.RecyclerView.Adapter
From class java.lang.Object
From interface android.support.v17.leanback.widget.FacetProviderAdapter

Public constructors

ItemBridgeAdapter

ItemBridgeAdapter (ObjectAdapter adapter, 
                PresenterSelector presenterSelector)

Parameters
adapter ObjectAdapter
presenterSelector PresenterSelector

ItemBridgeAdapter

ItemBridgeAdapter (ObjectAdapter adapter)

Parameters
adapter ObjectAdapter

ItemBridgeAdapter

ItemBridgeAdapter ()

Public methods

clear

void clear ()

清除适配器。

getFacetProvider

FacetProvider getFacetProvider (int type)

针对Adapter中的给定类型查询 FacetProvider

Parameters
type int: type of the item.
Returns
FacetProvider Facet provider for the type.

getItemCount

int getItemCount ()

返回适配器持有的数据集中的项目总数。

Returns
int The total number of items in this adapter.

getItemId

long getItemId (int position)

position返回商品的稳定ID。 如果hasStableIds()将返回false,则此方法应返回NO_ID 此方法的默认实现返回NO_ID

Parameters
position int: Adapter position to query
Returns
long the stable ID of the item at position

getItemViewType

int getItemViewType (int position)

为了查看回收目的,返回 position的项目视图类型。

此方法的默认实现返回0,假定适配器的单一视图类型。 与ListView适配器不同,类型不需要是连续的。 考虑使用id资源来唯一标识项目视图类型。

Parameters
position int: position to query
Returns
int integer value identifying the type of the view needed to represent the item at position. Type codes need not be contiguous.

getPresenterMapper

ArrayList<Presenter> getPresenterMapper ()

返回演示者映射器数组。

Returns
ArrayList<Presenter>

onBindViewHolder

void onBindViewHolder (RecyclerView.ViewHolder holder, 
                int position)

由RecyclerView调用以在指定位置显示数据。 此方法应更新itemView的内容以反映给定位置处的项目。

请注意,与ListView不同,如果物品的位置在数据集中发生更改,RecyclerView将不会再次调用此方法,除非物品本身无效或无法确定新位置。 出于这个原因,您应该只使用position参数,同时获取此方法中的相关数据项,并且不应保留其副本。 如果您稍后需要某个项目的位置(例如,在点击监听器中),请使用getAdapterPosition() ,它将具有更新的适配器位置。 如果适配器可以处理有效的部分绑定,则替代onBindViewHolder(ViewHolder, int, List)

Parameters
holder RecyclerView.ViewHolder: The ViewHolder which should be updated to represent the contents of the item at the given position in the data set.
position int: The position of the item within the adapter's data set.

onCreateViewHolder

RecyclerView.ViewHolder onCreateViewHolder (ViewGroup parent, 
                int viewType)

View.OnFocusChangeListener中分配的 onCreateViewHolder(ViewGroup)可能会被链接,此后用户不应再更改 View.OnFocusChangeListener

Parameters
parent ViewGroup: The ViewGroup into which the new View will be added after it is bound to an adapter position.
viewType int: The view type of the new View.
Returns
RecyclerView.ViewHolder A new ViewHolder that holds a View of the given view type.

onViewAttachedToWindow

void onViewAttachedToWindow (RecyclerView.ViewHolder holder)

当此适配器创建的视图已附加到窗口时调用。

这可以用作视图即将被用户看到的合理信号。 如果适配器先前释放了onViewDetachedFromWindow任何资源,则应在此恢复这些资源。

Parameters
holder RecyclerView.ViewHolder: Holder of the view being attached

onViewDetachedFromWindow

void onViewDetachedFromWindow (RecyclerView.ViewHolder holder)

当此适配器创建的视图已从其窗口分离时调用。

脱离窗口不一定是永久的条件; 适配器视图的使用者可能会选择在屏幕不可见时缓存视图,并根据需要附加分离视图。

Parameters
holder RecyclerView.ViewHolder: Holder of the view being detached

onViewRecycled

void onViewRecycled (RecyclerView.ViewHolder holder)

当此适配器创建的视图已被回收时调用。

RecyclerView.LayoutManager确定不再需要将其附加到其父项RecyclerView时,将回收视图。 这可能是因为它已经不在可见范围内,或者是由仍然附加到父RecyclerView的视图表示的一组缓存视图。 如果项目视图绑定了大量或昂贵的数据(如大型位图),则可能是释放这些资源的好地方。

RecyclerView在清除ViewHolder的内部数据并将其发送到RecycledViewPool之前调用此方法。 这样,如果ViewHolder在回收之前保存有效信息,则可以调用getAdapterPosition()以获取其适配器位置。

Parameters
holder RecyclerView.ViewHolder: The ViewHolder for the view being recycled

setAdapter

void setAdapter (ObjectAdapter adapter)

设置 ObjectAdapter

Parameters
adapter ObjectAdapter

setAdapterListener

void setAdapterListener (ItemBridgeAdapter.AdapterListener listener)

设置AdapterListener。

Parameters
listener ItemBridgeAdapter.AdapterListener

setPresenterMapper

void setPresenterMapper (ArrayList<Presenter> presenters)

设置演示者映射器数组。

Parameters
presenters ArrayList

setWrapper

void setWrapper (ItemBridgeAdapter.Wrapper wrapper)

设置 ItemBridgeAdapter.Wrapper

Parameters
wrapper ItemBridgeAdapter.Wrapper

Protected methods

onAddPresenter

void onAddPresenter (Presenter presenter, 
                int type)

当演示者添加到适配器时调用。

Parameters
presenter Presenter
type int

onAttachedToWindow

void onAttachedToWindow (ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder已连接到窗口时调用。

Parameters
viewHolder ItemBridgeAdapter.ViewHolder

onBind

void onBind (ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder绑定到数据时调用。

Parameters
viewHolder ItemBridgeAdapter.ViewHolder

onCreate

void onCreate (ItemBridgeAdapter.ViewHolder viewHolder)

ViewHolder创建时调用。

Parameters
viewHolder ItemBridgeAdapter.ViewHolder

onDetachedFromWindow

void onDetachedFromWindow (ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder从窗口中分离时调用。

Parameters
viewHolder ItemBridgeAdapter.ViewHolder

onUnbind

void onUnbind (ItemBridgeAdapter.ViewHolder viewHolder)

当ViewHolder从数据中解除绑定时调用。

Parameters
viewHolder ItemBridgeAdapter.ViewHolder

Hooray!