ListView为我们提供了addHeadView方法添加头部,RecyclerView没有该方法,下面我们来做这个工作。主要的思路还是根据getItemViewType的返回值加载不同的布局文件。
第一步:准备bean——AdaperParam,适配器需要的几个参数,如下
<span style="font-size:14px;">package com.dfsebook.myrecycleradapter.bean;
import java.util.List;
public class AdapterParam <T,V>{
private V headData;//头部绑定数据
private List<T> mDatas;//items绑定数据
private int headLayoutId;//头部对应的布局文件
private int itemLayouyId;//item对应的布局文件
private int headBrId;//头部对应的资源
private int itemBrId;//item对应的资源
public V getHeadData() {
return headData;
}
public void setHeadData(V headData) {
this.headData = headData;
}
public List<T> getmDatas() {
return mDatas;
}
public void setmDatas(List<T> mDatas) {
this.mDatas = mDatas;
}
public int getHeadLayoutId() {
return headLayoutId;
}
public void setHeadLayoutId(int headLayoutId) {
this.headLayoutId = headLayoutId;
}
public int getItemLayouyId() {
return itemLayouyId;
}
public void setItemLayouyId(int itemLayouyId) {
this.itemLayouyId = itemLayouyId;
}
public int getHeadBrId() {
return headBrId;
}
public void setHeadBrId(int headBrId) {
this.headBrId = headBrId;
}
public int getItemBrId() {
return itemBrId;
}
public void setItemBrId(int itemBrId) {
this.itemBrId = itemBrId;
}
}</span>
第二步:改写上篇Adapter
<span style="font-size:14px;">package com.dfsebook.myrecycleradapter.adapter;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.vie