在android开发中我们会经常recyclerview,而viewType的使用也是很重要的,viewType的作用就是加载不同的item
直接上代码
1:要现在adapter里面重写一个方法
@Override
public int getAdapterItemViewType(int position) {
if (fragmentOrderDataList != null && fragmentOrderDataList.size() > 0) {
return fragmentOrderDataList.get(position).getOrderState();
}
return super.getAdapterItemViewType(position);
}
2.加载不同的布局,里面有viewType的参数
@Override
public MyOrderAllAdapter.MyVIewHolder onCreateViewHolder(ViewGroup parent, int viewType, boolean isItem) {
View mView = null;
switch (viewType) {
case 0:
mView = LayoutInflater.from(mContext).inflate(R.layout.item_fragment_wait_pay, parent, false);
break;
case 1:
mView = LayoutInflater.from(mContext).inflate(R.layout.item_fragment_wait_send, parent, false);
break;
case 2:
mView = LayoutInflater.from(mContext).inflate(R.layout.item_fragment_wait_get, parent, false);
break;
case 3:
mView = LayoutInflater.from(mContext).inflate(R.layout.item_fragment_wait_comment, parent, false);
break;
3.在onBindViewHolder方法中通过,通过方法去加载布局
用swith,case就可以,跟以前的一样
4.实例化的时候要把每个item的布局声明出来并实例化,然后就跟平时写的都差不多一样,adapter里面写item,list的泛型为实体类,或string,或integer。