我想为第一行添加不同的布局,我该如何设置?
适配器类: 这是正常的,所有行等于:
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
inflater=LayoutInflater.from(parent.getContext());
return new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trends, parent, false));
}
OnBindViewHolder方法有什么变化?
答案 0 :(得分:18)
首先,您需要覆盖getItemViewType
。根据您的要求返回itemType。
@Override
public int getItemViewType(int position) {
if (position == 0) return 1;
else return 2;
}
然后在onCreateViewHolder
根据您的viewType夸大您的不同布局。
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == 1) {
// inflate your first item layout & return that viewHolder
} else {
// inflate your second item layout & return that viewHolder
}
}