多条目XRecyclerView

package com.example.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.Bean.Bean;
import com.example.lianxizhoukao.R;
import com.example.xiangadapter.OneAdapter;
import com.example.xiangadapter.TherrAdapter;
import com.example.xiangadapter.TowAdapter;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import com.youth.banner.Banner;

import java.util.List;

public class Myadapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> {
Context context;
Bean bean;
private OneAdapter oneAdapter;

public Myadapter(Context context, Bean bean) {
    this.context = context;
    this.bean = bean;
}

private final int BANNER_TYPE = 0;
private final int NOE_TYPE = 1;
private final int TOW_TYPE = 2;
private final int THREE_TYPE = 3;


@NonNull
@Override
public XRecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view;
    if (i == BANNER_TYPE) {
        view = LayoutInflater.from(context).inflate(R.layout.bannertype_layout, viewGroup, false);
        return new ViewHolde1(view);
    } else if (i == NOE_TYPE) {
        view = LayoutInflater.from(context).inflate(R.layout.onetype_layput, viewGroup, false);
        return new ViewHolde2(view);
    } else if (i == TOW_TYPE) {
        view = LayoutInflater.from(context).inflate(R.layout.towtype_layout, viewGroup, false);
        return new ViewHolde3(view);
    } else if (i == THREE_TYPE) {
        view = LayoutInflater.from(context).inflate(R.layout.therrtype_layout, viewGroup, false);
        return new ViewHolde4(view);
    }
    return null;

}

@Override
public void onBindViewHolder(@NonNull XRecyclerView.ViewHolder viewHolder, final int i) {
    if (viewHolder instanceof ViewHolde1) {
        ViewHolde1 viewHolde1 = (ViewHolde1) viewHolder;

    } else if (viewHolder instanceof ViewHolde2) {
        final ViewHolde2 viewHolde2 = (ViewHolde2) viewHolder;
        viewHolde2.textView.setText(bean.getResult().getRxxp().getName());
        final List<Bean.ResultBean.RxxpBean.CommodityListBean> commodityList = bean.getResult().getRxxp().getCommodityList();

// 布局管理
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
viewHolde2.xRecyclerView.setLayoutManager(linearLayoutManager);
oneAdapter = new OneAdapter(context, commodityList);
viewHolde2.xRecyclerView.setAdapter(oneAdapter);
oneAdapter.setGetXRecyclerView(new OneAdapter.getXRecyclerView() {
@Override
public void back(int id) {
backxRecyclerView.getback(id);
}
});
} else if (viewHolder instanceof ViewHolde3) {
ViewHolde3 viewHolde3 = (ViewHolde3) viewHolder;
// 获取商品名称
viewHolde3.towtext.setText(bean.getResult().getMlss().getName());
List<Bean.ResultBean.MlssBean.CommodityListBeanXX> listBeanXXES = bean.getResult().getMlss().getCommodityList();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false);
viewHolde3.towxRecyclerView.setLayoutManager(linearLayoutManager);
TowAdapter towAdapter = new TowAdapter(context, listBeanXXES);
viewHolde3.towxRecyclerView.setAdapter(towAdapter);

    } else if (viewHolder instanceof ViewHolde4) {
        ViewHolde4 viewHolde4 = (ViewHolde4) viewHolder;


        viewHolde4.therrtext.setText(bean.getResult().getPzsh().getName());

// 获取数据
List<Bean.ResultBean.PzshBean.CommodityListBeanX> commodityListBeanXES = bean.getResult().getPzsh().getCommodityList();
//获取布局
GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2);
viewHolde4.therrRecyclerView.setLayoutManager(gridLayoutManager);
// 获取布局
TherrAdapter therrAdapter = new TherrAdapter(commodityListBeanXES, context);
viewHolde4.therrRecyclerView.setAdapter(therrAdapter);

    }
}

@Override
public int getItemCount() {

    return 4;
}

@Override
public int getItemViewType(int position) {
    if (position == 0) {
        return BANNER_TYPE;
    } else if (position == 1) {
        return NOE_TYPE;
    } else if (position == 2) {
        return TOW_TYPE;
    } else if (position == 3) {
        return THREE_TYPE;
    }
    return super.getItemViewType(position);
}

//    自定义HOlder
public class ViewHolde1 extends XRecyclerView.ViewHolder {

    public ViewHolde1(@NonNull View itemView) {
        super(itemView);
    }
}

public class ViewHolde2 extends XRecyclerView.ViewHolder {
    private TextView textView;
    private RecyclerView xRecyclerView;

    public ViewHolde2(@NonNull View itemView) {
        super(itemView);
        textView = itemView.findViewById(R.id.oneTextView);
        xRecyclerView = itemView.findViewById(R.id.one_XRecyclerView);
    }
}

public class ViewHolde3 extends XRecyclerView.ViewHolder {
    private TextView towtext;
    private RecyclerView towxRecyclerView;

    public ViewHolde3(@NonNull View itemView) {
        super(itemView);
        towtext = itemView.findViewById(R.id.towTextView);
        towxRecyclerView = itemView.findViewById(R.id.tow_XRecyclerView);
    }
}

public class ViewHolde4 extends XRecyclerView.ViewHolder {
    private TextView therrtext;
    private RecyclerView therrRecyclerView;

    public ViewHolde4(@NonNull View itemView) {
        super(itemView);
        therrtext = itemView.findViewById(R.id.therr_TextView);
        therrRecyclerView = itemView.findViewById(R.id.therr_XRecyclerView);
    }
}

BackxRecyclerView backxRecyclerView;

public void setBackxRecyclerView(BackxRecyclerView backxRecyclerView) {
    this.backxRecyclerView = backxRecyclerView;
}

public interface BackxRecyclerView {
    public void getback(int id);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值