public class ItemBridgeAdapter
extends Adapter implements FacetProviderAdapter
| java.lang.Object | ||
| android.support.v7.widget.RecyclerView.Adapter | ||
| android.support.v17.leanback.widget.ItemBridgeAdapter | ||
桥从Presenter到RecyclerView.Adapter 。 公开以允许第三方演示者使用。
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() |
|
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) |
|
|---|---|
android.support.v7.widget.RecyclerView.Adapter
|
|
java.lang.Object
|
|
android.support.v17.leanback.widget.FacetProviderAdapter
|
|
ItemBridgeAdapter (ObjectAdapter adapter, PresenterSelector presenterSelector)
| 参数(Parameters) | |
|---|---|
adapter |
ObjectAdapter
|
presenterSelector |
PresenterSelector
|
ItemBridgeAdapter ()
void clear ()
清除适配器。
FacetProvider getFacetProvider (int type)
针对Adapter中的给定类型查询 FacetProvider 。
| 参数(Parameters) | |
|---|---|
type |
int: type of the item. |
| 返回(Returns) | |
|---|---|
FacetProvider |
Facet provider for the type. |
int getItemCount ()
返回适配器持有的数据集中的项目总数。
| 返回(Returns) | |
|---|---|
int |
The total number of items in this adapter. |
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 |
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. |
ArrayList<Presenter> getPresenterMapper ()
返回演示者映射器数组。
| 返回(Returns) | |
|---|---|
ArrayList<Presenter> |
|
ItemBridgeAdapter.Wrapper getWrapper ()
返回 ItemBridgeAdapter.Wrapper 。
| 返回(Returns) | |
|---|---|
ItemBridgeAdapter.Wrapper |
|
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. |
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. |
void onViewAttachedToWindow (RecyclerView.ViewHolder holder)
当此适配器创建的视图已附加到窗口时调用。
这可以用作视图即将被用户看到的合理信号。 如果适配器先前释放了onViewDetachedFromWindow任何资源,则应在此恢复这些资源。
| 参数(Parameters) | |
|---|---|
holder |
RecyclerView.ViewHolder: Holder of the view being attached |
void onViewDetachedFromWindow (RecyclerView.ViewHolder holder)
当此适配器创建的视图已从其窗口分离时调用。
脱离窗口不一定是永久的条件; 适配器视图的使用者可能会选择在屏幕不可见时缓存视图,并根据需要附加分离视图。
| 参数(Parameters) | |
|---|---|
holder |
RecyclerView.ViewHolder: Holder of the view being detached |
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 |
void setAdapter (ObjectAdapter adapter)
设置 ObjectAdapter 。
| 参数(Parameters) | |
|---|---|
adapter |
ObjectAdapter
|
void setAdapterListener (ItemBridgeAdapter.AdapterListener listener)
设置AdapterListener。
| 参数(Parameters) | |
|---|---|
listener |
ItemBridgeAdapter.AdapterListener
|
void setPresenterMapper (ArrayList<Presenter> presenters)
设置演示者映射器数组。
| 参数(Parameters) | |
|---|---|
presenters |
ArrayList
|
void setWrapper (ItemBridgeAdapter.Wrapper wrapper)
设置 ItemBridgeAdapter.Wrapper 。
| 参数(Parameters) | |
|---|---|
wrapper |
ItemBridgeAdapter.Wrapper
|
void onAddPresenter (Presenter presenter, int type)
当演示者添加到适配器时调用。
| 参数(Parameters) | |
|---|---|
presenter |
Presenter
|
type |
int
|
void onAttachedToWindow (ItemBridgeAdapter.ViewHolder viewHolder)
当ViewHolder已连接到窗口时调用。
| 参数(Parameters) | |
|---|---|
viewHolder |
ItemBridgeAdapter.ViewHolder
|
void onBind (ItemBridgeAdapter.ViewHolder viewHolder)
当ViewHolder绑定到数据时调用。
| 参数(Parameters) | |
|---|---|
viewHolder |
ItemBridgeAdapter.ViewHolder
|
void onCreate (ItemBridgeAdapter.ViewHolder viewHolder)
ViewHolder创建时调用。
| 参数(Parameters) | |
|---|---|
viewHolder |
ItemBridgeAdapter.ViewHolder
|
void onDetachedFromWindow (ItemBridgeAdapter.ViewHolder viewHolder)
当ViewHolder从窗口中分离时调用。
| 参数(Parameters) | |
|---|---|
viewHolder |
ItemBridgeAdapter.ViewHolder
|
void onUnbind (ItemBridgeAdapter.ViewHolder viewHolder)
当ViewHolder从数据中解除绑定时调用。
| 参数(Parameters) | |
|---|---|
viewHolder |
ItemBridgeAdapter.ViewHolder
|