В вашем adapter
классе Override getItemViewType
, как показано ниже.
@Override
public int getItemViewType(int position) {
if (position % 3 == 0) {
return 1;
} else if (position % 2 == 0) {
return 2;
} else {
return 3;
}
}
И oncreateViewHolder
метод return view
в соответствии с view type
. как показано ниже
@Override
public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case 1:
View viewONE = LayoutInflater.from(parent.getContext()).inflate(R.layout.category_template_one, parent, false);
CustomViewHolder rowONE = new CustomViewHolder(viewONE);
return rowONE;
case 2:
View viewTWO = LayoutInflater.from(parent.getContext()).inflate(R.layout.category_template_two, parent, false);
CustomViewHolder rowTWO = new CustomViewHolder(viewTWO);
return rowTWO;
case 3:
View viewTHREE = LayoutInflater.from(parent.getContext()).inflate(R.layout.category_template_three, parent, false);
CustomViewHolder rowTHREE = new CustomViewHolder(viewTHREE);
return rowTHREE;
}
return null;
}
См. этот для полного примера.