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);
}
}