public class RecyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
Context context;
HomeBean homeBeans;
private int RXXP_TYPE =0;
private int MLSS_TYPE =1;
private int PZSH_TYPE =2;
private View view;
private List<Three> commodityList;
private List<Three> commodityList1;
private List<Three> commodityList2;
public RecyAdapter(Context context, HomeBean homeBeans) {
this.context = context;
this.homeBeans = homeBeans;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
if (i==RXXP_TYPE){
view = LayoutInflater.from(context).inflate(R.layout.rxxp_item, viewGroup, false);
RxxpHoldle rxxpHoldle = new RxxpHoldle(view);
return rxxpHoldle;
}else if (i==MLSS_TYPE){
view = LayoutInflater.from(context).inflate(R.layout.mlss_item,viewGroup,false);
MLSSHoldle mlssHoldle = new MLSSHoldle(view);
return mlssHoldle;
}else if (i==PZSH_TYPE){
view = LayoutInflater.from(context).inflate(R.layout.pzsh_item,viewGroup,false);
PZSHHoldle pzshHoldle = new PZSHHoldle(view);
return pzshHoldle;
}
return null;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
final DaoSession daoSession = App.daoSession;
if (viewHolder instanceof RxxpHoldle){
RxxpHoldle rxxpHoldle = (RxxpHoldle) viewHolder;
//熱銷新品
rxxpHoldle.rexiao_text.setText(homeBeans.getResult().getRxxp().getName());
//佈局管理器
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false);
rxxpHoldle.rexiao_view.setLayoutManager(linearLayoutManager);
commodityList = homeBeans.getResult().getRxxp().getCommodityList();
OneAdapter oneAdapter = new OneAdapter(context, commodityList);
rxxpHoldle.rexiao_view.setAdapter(oneAdapter);
oneAdapter.setRecyOnclick(new OneAdapter.RecyOnclick() {
@Override
public void oonclick(int sss) {
Three three = new Three();
three.setMasterPic(commodityList.get(sss).getMasterPic());
three.setCommodityName(commodityList.get(sss).getCommodityName());
three.setMasterPic(commodityList.get(sss).getPrice());
daoSession.insert(three);
Toast.makeText(context, "添加成功", Toast.LENGTH_SHORT).show();
}
});
}else if (viewHolder instanceof MLSSHoldle){
MLSSHoldle mlssHoldle = (MLSSHoldle) viewHolder;
//魔力時尚
mlssHoldle.moli_text.setText(homeBeans.getResult().getMlss().getName());
//佈局管理器
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false);
mlssHoldle.moli_view.setLayoutManager(linearLayoutManager);
commodityList1 = homeBeans.getResult().getMlss().getCommodityList();
TwoAdapter twoAdapter = new TwoAdapter(context,commodityList1);
mlssHoldle.moli_view.setAdapter(twoAdapter);
twoAdapter.setRecyOnclick(new TwoAdapter.RecyOnclick() {
@Override
public void oonclick(int sss) {
Three three = new Three();
three.setMasterPic(commodityList1.get(sss).getMasterPic());
three.setCommodityName(commodityList1.get(sss).getCommodityName());
three.setMasterPic(commodityList1.get(sss).getPrice());
daoSession.insert(three);
Toast.makeText(context, "添加成功", Toast.LENGTH_SHORT).show();
}
});
}else if (viewHolder instanceof PZSHHoldle){
PZSHHoldle pzshHoldle = (PZSHHoldle) viewHolder;
//品質生活
pzshHoldle.pinzhi_text.setText(homeBeans.getResult().getPzsh().getName());
//佈局
GridLayoutManager gridLayoutManager = new GridLayoutManager(context,2);
pzshHoldle.pinzhi_view.setLayoutManager(gridLayoutManager);
commodityList2 = homeBeans.getResult().getPzsh().getCommodityList();
ThreeAdapter threeAdapter = new ThreeAdapter(context,commodityList2);
pzshHoldle.pinzhi_view.setAdapter(threeAdapter);
threeAdapter.setRecyOnclick(new ThreeAdapter.RecyOnclick() {
@Override
public void oonclick(int sss) {
Three three = new Three();
three.setMasterPic(commodityList2.get(sss).getMasterPic());
three.setCommodityName(commodityList2.get(sss).getCommodityName());
three.setMasterPic(commodityList2.get(sss).getPrice());
daoSession.insert(three);
Toast.makeText(context, "添加成功", Toast.LENGTH_SHORT).show();
}
});
}
}
@Override
public int getItemCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
if(position==0){
return RXXP_TYPE;
}else if (position==1){
return MLSS_TYPE;
}else if (position==2){
return PZSH_TYPE;
}
return super.getItemViewType(position);
}
//自定義holder
public class RxxpHoldle extends RecyclerView.ViewHolder{
private TextView rexiao_text;
private final RecyclerView rexiao_view;
public RxxpHoldle(@NonNull View itemView) {
super(itemView);
rexiao_text = itemView.findViewById(R.id.rexiao_text);
rexiao_view = itemView.findViewById(R.id.rexiao_view);
}
}
public class PZSHHoldle extends RecyclerView.ViewHolder{
private final TextView pinzhi_text;
private final RecyclerView pinzhi_view;
public PZSHHoldle(@NonNull View itemView) {
super(itemView);
pinzhi_text = itemView.findViewById(R.id.pinzhi_text);
pinzhi_view = itemView.findViewById(R.id.pinzhi_view);
}
}
public class MLSSHoldle extends RecyclerView.ViewHolder{
private final TextView moli_text;
private final RecyclerView moli_view;
public MLSSHoldle(@NonNull View itemView) {
super(itemView);
moli_text = itemView.findViewById(R.id.moli_text);
moli_view = itemView.findViewById(R.id.moli_view);
}
}
}
回調接口
public interface RecyOnclick{
void oonclick(int sss);
}
RecyOnclick recyOnclick;
public void setRecyOnclick(RecyOnclick recyOnclick) {
this.recyOnclick = recyOnclick;
}
子adapter的點擊事件
viewHoler.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int adapterPosition = viewHoler.getAdapterPosition();
if (recyOnclick!=null){
recyOnclick.oonclick(adapterPosition);
}
}
});