我有RecyclerView
数据。我尝试添加自定义的第一个元素。
if(position == 0) {
Trend item = items.get(holder.getAdapterPosition());
int i = 0;
items.add(i, item);
}
@Override
public int getItemViewType(int position) {
if (position == 0) return 1;
else return 2;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == 1) {
inflater = LayoutInflater.from(parent.getContext());
return new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trendsnewuser, parent, false));
} else {
inflater = LayoutInflater.from(parent.getContext());
return new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_trends, parent, false));
}
我现在复制第一个元素两次。 如何使用我的自定义选项添加自定义行?
答案 0 :(得分:0)
您应该创建具有不同视图的两个ViewHolder,并在ItemViewType中检查特定位置并根据该特定的ViewHolder。
以下是一些代码。
public int getItemViewType(int position) {
if (products.size()==0){
return 0;
}else if (products.get(position)== 0){
return 0;
}else
return 1;
}
return super.getItemViewType(position);
}
ViewHolder:
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
if (viewType== 0){
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.FIRSTTIMEVIEW,parent,false);
return new MovieViewHolder(view);
}else if (viewType==1)
{
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.OTHERVIEWS,parent,false);
return new OtherViewHolder(view);
}else{
return null;
}
}