多条目展示

package com.example.zhoukao3.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
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.zhoukao3.R;
import com.example.zhoukao3.bean.BannerBean;
import com.example.zhoukao3.bean.ShopBean;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import com.stx.xhb.xbanner.XBanner;

import java.util.List;
import java.util.zip.Inflater;

public class MyAdapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> {
private final int Pzsh_type = 2;
private final int Mlss_type = 3;
private final int Rxxp_type = 1;
private final int Banner_type = 0;
Context context;
ShopBean shopBean;
BannerBean bannerBean;
private XBannerHolder xBannerHolder;
private RxxpHolder rxxpHolder;
private PzshHolder pzshHolder;
private MlssHolder mlssHolder;
private List<BannerBean.ResultBean> result;
private List<ShopBean.ResultBean.RxxpBean.CommodityListBean> list1;
private LinearLayoutManager linearLayoutManager;
private List<ShopBean.ResultBean.PzshBean.CommodityListBeanX> list;
private List list2;

public MyAdapter(Context context, ShopBean shopBean, BannerBean bannerBean) {
    this.context = context;
    this.shopBean = shopBean;
    this.bannerBean = bannerBean;
}

@NonNull
@Override
public XRecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view;
    if (i==Banner_type){
        view=LayoutInflater.from(context).inflate(R.layout.banner_item,viewGroup,false);
        xBannerHolder = new XBannerHolder(view);
        return xBannerHolder;
    }else if (i==Rxxp_type){
        view=LayoutInflater.from(context).inflate(R.layout.rxxp,viewGroup,false);
        rxxpHolder = new RxxpHolder(view);
        return rxxpHolder;

    }else if (i==Pzsh_type){
        view=LayoutInflater.from(context).inflate(R.layout.pzsh,viewGroup,false);
        pzshHolder = new PzshHolder(view);
        return pzshHolder;

    }else {
        view=LayoutInflater.from(context).inflate(R.layout.mlss,viewGroup,false);
        mlssHolder = new MlssHolder(view);
        return mlssHolder;
    }
}

@Override
public void onBindViewHolder(@NonNull final XRecyclerView.ViewHolder viewHolder, final int i) {
    if (viewHolder instanceof XBannerHolder){
        xBannerHolder= (XBannerHolder) viewHolder;
        result = bannerBean.getResult();
        int realCount = xBannerHolder.xbanner_d.getRealCount();
        if (realCount<=0) {
            xBannerHolder.xbanner_d.setData(result,null);
        }



    }else if (viewHolder instanceof RxxpHolder){
        rxxpHolder= (RxxpHolder) viewHolder;
        rxxpHolder.text_1.setText(shopBean.getResult().getRxxp().getName());
        linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
        rxxpHolder.rec_1.setLayoutManager(linearLayoutManager);
        list1 = shopBean.getResult().getRxxp().getCommodityList();
        RxxpAdapter adapter=new RxxpAdapter(context,list1);
        rxxpHolder.rec_1.setAdapter(adapter);
    }else if (viewHolder instanceof PzshHolder){
         pzshHolder= (PzshHolder) viewHolder;
         pzshHolder.text_2.setText(shopBean.getResult().getPzsh().getName());
         LinearLayoutManager linearLayoutManager2=new LinearLayoutManager(context, LinearLayoutManager.VERTICAL,false);
         pzshHolder.rec_2.setLayoutManager(linearLayoutManager2);
         list2 = shopBean.getResult().getPzsh().getCommodityList();
         PzshAdapter pzshAdapter=new PzshAdapter(context,list2);
         pzshHolder.rec_2.setAdapter(pzshAdapter);

    }else if (viewHolder instanceof MlssHolder){

    }
}

@Override
public int getItemCount() {
    return 4;
}

@Override
public int getItemViewType(int position) {

    if (position==0){
        return Banner_type;
    }else if(position==1){
        return Rxxp_type;
    }else if (position==2){
        return Pzsh_type;
    }else if (position==3){
        return Mlss_type;
    }
    return super.getItemViewType(position);
}
public class XBannerHolder extends RecyclerView.ViewHolder{

    private final XBanner xbanner_d;

    public XBannerHolder(@NonNull View itemView) {
        super(itemView);
        xbanner_d = itemView.findViewById(R.id.xbanner_d);
        xbanner_d.setmAdapter(new XBanner.XBannerAdapter() {
            @Override
            public void loadBanner(XBanner banner, View view, int position) {
                Glide.with(context).load(result.get(position).getImageUrl()).into((ImageView) view);
            }
        });
    }
}
public class RxxpHolder extends RecyclerView.ViewHolder{

    private final RecyclerView rec_1;
    private final TextView text_1;

    public RxxpHolder(@NonNull View itemView) {
        super(itemView);
        rec_1 = itemView.findViewById(R.id.rec_1);
        text_1 = itemView.findViewById(R.id.text_1);
    }
}
public class PzshHolder extends RecyclerView.ViewHolder{

    private final TextView text_2;
    private final RecyclerView rec_2;

    public PzshHolder(@NonNull View itemView) {
        super(itemView);
        text_2 = itemView.findViewById(R.id.text_2);
        rec_2 = itemView.findViewById(R.id.rec_2);

    }
}
public class MlssHolder extends RecyclerView.ViewHolder{
    public MlssHolder(@NonNull View itemView) {
        super(itemView);

    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值