public class IProAdapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> {
private Context context;
private List<IBean.DataBean.BannerBean> bannerBeans;
private List<IBean.DataBean.FenleiBean> fenleiBeans;
private List<IBean.DataBean.MiaoshaBean.ListBean> listBeans;
private List<IBean.DataBean.TuijianBean.ListBeanX> listBeanXES;
private final int ONE_BANNER=0;
private final int TWO_FEI=1;
private final int THREE_MIAO=2;
private final int FOUR_TUI=3;
public IProAdapter(Context context) {
this.context = context;
bannerBeans = new ArrayList<>();
fenleiBeans = new ArrayList<>();
listBeans = new ArrayList<>();
listBeanXES = new ArrayList<>();
}
public void setlist(IBean.DataBean dataBean){
if (dataBean!=null){
this.bannerBeans = dataBean.getBanner();
this.fenleiBeans = dataBean.getFenlei();
this.listBeans = dataBean.getMiaosha().getList();
this.listBeanXES = dataBean.getTuijian().getList();
}
notifyDataSetChanged();
}
@Override
public int getItemViewType(int position) {
if (position ==ONE_BANNER){
return ONE_BANNER;
}else if (position ==TWO_FEI){
return TWO_FEI;
}else if (position ==THREE_MIAO){
return THREE_MIAO;
}else {
return FOUR_TUI;
}
}
@NonNull
@Override
public XRecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view;
if (getItemViewType(i)==ONE_BANNER){
view=LayoutInflater.from(context).inflate(R.layout.item_banner,viewGroup,false);
OneVH oneVH=new OneVH(view);
return oneVH;
}else if (getItemViewType(i)==TWO_FEI){
view=LayoutInflater.from(context).inflate(R.layout.item_fei,viewGroup,false);
TwoVH twoVH=new TwoVH(view);
return twoVH;
}else if (getItemViewType(i)==THREE_MIAO){
view=LayoutInflater.from(context).inflate(R.layout.item_miao,viewGroup,false);
ThreeVH threeVH=new ThreeVH(view);
return threeVH;
}else {
view=LayoutInflater.from(context).inflate(R.layout.item_tui,viewGroup,false);
FourVH fourVH=new FourVH(view);
return fourVH;
}
}
@Override
public void onBindViewHolder(@NonNull XRecyclerView.ViewHolder viewHolder, int i) {
if (bannerBeans!=null&&fenleiBeans!=null&&listBeans!=null&&listBeanXES!=null){
//instanceof判断其左边对象是否为其右边类的实例
if (viewHolder instanceof OneVH){
List<String> list=new ArrayList<>();
for (int y=0;y< bannerBeans.size();y++){
list.add(bannerBeans.get(y).getIcon());
}
((OneVH) viewHolder).fly.setImagesUrl(list);
}else if (viewHolder instanceof TwoVH){
//布局管理器
((TwoVH) viewHolder).frv.setLayoutManager(new GridLayoutManager(context,5));
//创建适配器
FenAdapter fenAdapter = new FenAdapter(context,fenleiBeans);
//设置适配器
((TwoVH) viewHolder).frv.setAdapter(fenAdapter);
}else if(viewHolder instanceof ThreeVH){
/* ((ThreeVH) viewHolder).miao_name.setText(listBeans.get(i).get());*/
//布局管理器
((ThreeVH) viewHolder).mrv.setLayoutManager(new GridLayoutManager(context,5));
//创建适配器
MiaoAdapter miaoAdapter = new MiaoAdapter(context,listBeans);
//设置适配器
((ThreeVH) viewHolder).mrv.setAdapter(miaoAdapter);
}else if (viewHolder instanceof FourVH){
//布局管理器
((FourVH) viewHolder).trv.setLayoutManager(new LinearLayoutManager(context));
//创建适配器
TuiAdapter tuiAdapter = new TuiAdapter(context,listBeanXES);
((FourVH) viewHolder).trv.setAdapter(tuiAdapter);
}
}
}
@Override
public int getItemCount() {
return 4;
}
/*轮播*/
class OneVH extends XRecyclerView.ViewHolder{
private FlyBanner fly;
public OneVH(@NonNull View itemView) {
super(itemView);
fly=itemView.findViewById(R.id.fly);
}
}
class TwoVH extends XRecyclerView.ViewHolder{
private XRecyclerView frv;
public TwoVH(@NonNull View itemView) {
super(itemView);
frv=itemView.findViewById(R.id.frv);
}
}
class ThreeVH extends XRecyclerView.ViewHolder{
private XRecyclerView mrv;
private TextView miao_name;
public ThreeVH(@NonNull View itemView) {
super(itemView);
mrv=itemView.findViewById(R.id.mrv);
miao_name=itemView.findViewById(R.id.miao_name);
}
}
class FourVH extends XRecyclerView.ViewHolder{
private XRecyclerView trv;
public FourVH(@NonNull View itemView) {
super(itemView);
trv=itemView.findViewById(R.id.trv);
}
}
}