RecyclerView的Adapter绑定多类型ViewHolder
具体流程
1、与一般Adapter的处理流程类似
2、覆盖Adapter的getItemViewType(int position)
,通过自定义设置不同位置的View的类型。
3、在onCreateViewHolder(ViewGroup parent, int viewType)
中对不同的View类型创建不同的ViewHolder。
使用场景
需要在RecyclerView列表的顶部(中间、底部)增加必要的视图。
注意事项
在getItemCount()
方法中要注意返回的数量,可能不在是主要数据的个数了,具体看目标view的设计。
扩展
1. 通过RecyclerView获取指定position的ViewHolder
一般使用以下方法就能获取:
RecyclerView.findViewHolderForAdapterPosition(int position);
具体代码如下:
public ViewHolder getHolder(RecyclerView container, int position) {
if (position < 0 || container.getAdapter