public abstract class BaseAdapter<T> extends android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder> implements LoadMore
LoadMore.LoadState| 限定符和类型 | 字段和说明 |
|---|---|
protected java.util.List<T> |
mData |
LOAD_COMPLETED, LOAD_FAILED, LOADING| 构造器和说明 |
|---|
BaseAdapter() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addData(java.util.List<? extends T> data)
添加新数据,并有可能重置加载更多状态
|
void |
addData(T data)
添加新数据,并有可能重置加载更多状态
|
void |
addFootLayout(int footLayout)
按调用顺序添加尾部布局
|
void |
addHeadLayout(int headLayout)
按调用顺序添加头部布局
|
abstract void |
bind(BaseViewHolder holder,
int layoutRes)
开启子view的点击事件,或者其他监听
|
protected void |
bindData(BaseViewHolder baseViewHolder,
int layoutRes) |
protected void |
bindEmpty(BaseViewHolder holder)
默认空布局的点击事件实现
|
protected void |
bindError(BaseViewHolder holder)
默认异常布局的点击事件实现
|
boolean |
canAutoLoadMore() |
abstract void |
convert(BaseViewHolder holder,
T data,
int index)
在这里设置显示
|
void |
convertEmpty(BaseViewHolder holder)
如果设置了自定义Empty布局,且想对其设置一些数据显示处理,可以重写此方法
|
void |
convertError(BaseViewHolder holder)
如果设置了自定义Error布局,且想对其设置一些数据显示处理,可以重写此方法
|
void |
convertFoot(BaseViewHolder holder,
int footLayout,
int index)
如果要对尾布局进行处理可重写此方法
|
void |
convertHead(BaseViewHolder holder,
int headLayout,
int index)
如果要对头布局进行处理可重写此方法
|
void |
convertLoadMore(BaseViewHolder holder,
int loadState)
如果设置了自定义加载更多布局,则需要重写此方法,然后根据 loadState 的值来控制显示
、隐藏布局。
|
java.util.List<T> |
getData() |
T |
getData(int adapterPosition)
此position是AdapterPosition
|
int |
getFootSize() |
int |
getHeadSize() |
int |
getItemCount() |
int |
getItemViewType(int position) |
abstract int |
getLayoutRes(int index)
返回布局layout
|
boolean |
hasFoot() |
boolean |
hasHead() |
void |
loadCompleted()
加载完成
|
void |
loadFailed()
加载失败
|
void |
onAttachedToRecyclerView(android.support.v7.widget.RecyclerView recyclerView) |
void |
onBindViewHolder(BaseViewHolder holder,
int position) |
BaseViewHolder |
onCreateViewHolder(android.view.ViewGroup parent,
int layoutRes) |
void |
onViewAttachedToWindow(BaseViewHolder holder) |
void |
openAutoLoadMore(boolean open)
设置自动加载更多开关
|
void |
removeAllFoot() |
void |
removeAllHead() |
void |
removeData(int adapterPosition) |
void |
removeData(T data) |
void |
removeFoot(int adapterPosition) |
void |
removeHead(int adapterPosition) |
void |
setData(java.util.List<? extends T> data)
设置新数据,会清除掉原有数据,并有可能重置加载更多状态
|
void |
setEmptyLayout(int emptyLayout) |
void |
setErrorLayout(int errorLayout) |
void |
setLoadMoreLayout(int moreLayout)
设置加载界面
|
void |
setOnItemClickListener(OnItemClickListener onItemClickListener) |
void |
setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) |
void |
setOnLoadMoreListener(OnLoadMoreListener onLoadMoreListener)
设置加载更多监听事件
|
void |
showErrorView() |
bindViewHolder, createViewHolder, getItemId, hasObservers, hasStableIds, notifyDataSetChanged, notifyItemChanged, notifyItemChanged, notifyItemInserted, notifyItemMoved, notifyItemRangeChanged, notifyItemRangeChanged, notifyItemRangeInserted, notifyItemRangeRemoved, notifyItemRemoved, onBindViewHolder, onDetachedFromRecyclerView, onFailedToRecycleView, onViewDetachedFromWindow, onViewRecycled, registerAdapterDataObserver, setHasStableIds, unregisterAdapterDataObserverprotected final java.util.List<T> mData
public void setData(@Nullable
java.util.List<? extends T> data)
data - 数据集合public void addData(T data)
data - 数据集合public void addData(java.util.List<? extends T> data)
data - 数据集合public void removeData(T data)
public void removeData(int adapterPosition)
public void removeHead(int adapterPosition)
public void removeFoot(int adapterPosition)
public void removeAllHead()
public void removeAllFoot()
@CheckResult @Nullable public T getData(int adapterPosition)
adapterPosition - 当前项的AdapterPositionpublic java.util.List<T> getData()
public void setOnItemClickListener(@Nullable
OnItemClickListener onItemClickListener)
public void setOnItemLongClickListener(@Nullable
OnItemLongClickListener onItemLongClickListener)
public void addHeadLayout(@LayoutRes
int headLayout)
headLayout - 布局idpublic boolean hasHead()
public int getHeadSize()
public void addFootLayout(@LayoutRes
int footLayout)
footLayout - 布局idpublic boolean hasFoot()
public int getFootSize()
public BaseViewHolder onCreateViewHolder(android.view.ViewGroup parent, int layoutRes)
onCreateViewHolder 在类中 android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder>public final void onBindViewHolder(BaseViewHolder holder, int position)
onBindViewHolder 在类中 android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder>public final int getItemCount()
getItemCount 在类中 android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder>public int getItemViewType(int position)
getItemViewType 在类中 android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder>public void onViewAttachedToWindow(BaseViewHolder holder)
onViewAttachedToWindow 在类中 android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder>public void onAttachedToRecyclerView(android.support.v7.widget.RecyclerView recyclerView)
onAttachedToRecyclerView 在类中 android.support.v7.widget.RecyclerView.Adapter<BaseViewHolder>public void convertHead(BaseViewHolder holder, @LayoutRes int headLayout, int index)
holder - 布局holderheadLayout - 布局id,跟index可以确定布局是第几个布局index - 添加时的顺序public void convertFoot(BaseViewHolder holder, @LayoutRes int footLayout, int index)
holder - 布局holderfootLayout - 布局id,跟index可以确定布局是第几个布局index - 添加时的顺序public void convertLoadMore(BaseViewHolder holder, int loadState)
holder - 布局holderloadState - 是 LoadMore.LOADING、LoadMore.LOAD_COMPLETED
或者LoadMore.LOAD_FAILED 之一,分别对应加载中,完成加载,
还有加载失败三种情况public void convertEmpty(BaseViewHolder holder)
holder - 默认的ViewHolderpublic void convertError(BaseViewHolder holder)
holder - 默认的ViewHolderprotected void bindEmpty(BaseViewHolder holder)
holder - 默认的ViewHolderprotected void bindError(BaseViewHolder holder)
holder - 默认的ViewHolderprotected void bindData(BaseViewHolder baseViewHolder, int layoutRes)
public void setEmptyLayout(@LayoutRes
int emptyLayout)
public void setErrorLayout(@LayoutRes
int errorLayout)
public void showErrorView()
public void openAutoLoadMore(boolean open)
LoadMoreopenAutoLoadMore 在接口中 LoadMoreopen - true打开加载更多,false关闭public void loadCompleted()
LoadMoreloadCompleted 在接口中 LoadMorepublic void loadFailed()
LoadMoreloadFailed 在接口中 LoadMorepublic void setOnLoadMoreListener(@Nullable
OnLoadMoreListener onLoadMoreListener)
LoadMoresetOnLoadMoreListener 在接口中 LoadMoreonLoadMoreListener - 当为null时不会开启自动加载public void setLoadMoreLayout(@LayoutRes
int moreLayout)
LoadMoresetLoadMoreLayout 在接口中 LoadMoremoreLayout - LoadMore布局public boolean canAutoLoadMore()
canAutoLoadMore 在接口中 LoadMore@LayoutRes public abstract int getLayoutRes(int index)
index - 列表位置public abstract void convert(BaseViewHolder holder, T data, int index)
holder - 默认的ViewHolderdata - 对应的数据index - 对应的列表位置(不一定是数据在数据集合List中的位置)public abstract void bind(BaseViewHolder holder, int layoutRes)
holder - 默认的ViewHolderlayoutRes - 对应的布局Layout ID,也代表为ViewType