bean里写个type类型
private int itemType;
public int getItemType() {
int result = itemType % 2;
return result;
}
public void setItemType(int itemType) {
this.itemType = itemType;
}
Adapter
package com.example.yueer.ui.adaper;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.yueer.R;
import com.example.yueer.di.beans.ListBean;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class ListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
Context context;
List<ListBean.DataBean> dataList;
public void setData(Context context, List<ListBean.DataBean> dataList) {
this.context = context;
this.dataList = dataList;
}
//类型
@Override
public int getItemViewType(int position) {
return dataList.get(position).getItemType();
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int type) {
RecyclerView.ViewHolder holder;
if (type == 0) {
View view = LayoutInflater.from(context).inflate(R.layout.item_one, viewGroup, false);
holder = new MyHolderA(view);
} else {
View view = LayoutInflater.from(context).inflate(R.layout.item_two, viewGroup, false);
holder = new MyHolderB(view);
}
return holder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int position) {
if (viewHolder instanceof MyHolderA) {
((MyHolderA) viewHolder).textviewOne.setText(dataList.get(position).getTitle());
// Glide.with(context).load(dataList.get(position).getThumbnail_pic_s()).into(((MyHolderA) viewHolder).imageview);
} else {
((MyHolderB) viewHolder).textviewTwo.setText(dataList.get(position).getTitle());
Glide.with(context).load(dataList.get(position).getThumbnail_pic_s()).into(((MyHolderB) viewHolder).imageOne);
Glide.with(context).load(dataList.get(position).getThumbnail_pic_s02()).into(((MyHolderB) viewHolder).imageTwo);
Glide.with(context).load(dataList.get(position).getThumbnail_pic_s03()).into(((MyHolderB) viewHolder).imageThree);
}
}
@Override
public int getItemCount() {
return dataList.size();
}
class MyHolderA extends RecyclerView.ViewHolder {
@BindView(R.id.textview_one)
TextView textviewOne;
public MyHolderA(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
class MyHolderB extends RecyclerView.ViewHolder {
@BindView(R.id.textview_two)
TextView textviewTwo;
@BindView(R.id.image_one)
ImageView imageOne;
@BindView(R.id.image_two)
ImageView imageTwo;
@BindView(R.id.image_three)
ImageView imageThree;
public MyHolderB(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
}
Activity来个for循环
for (int i = 0; i < dataList.size(); i++) {
dataList.get(i).setItemType(i);
}