public class Frag01 extends Fragment implements ShowView {
private XBanner banner;
private XRecyclerView recyclerView;
private ShowPresenter presenter;
private String PicUrl = “http://172.17.8.100/small/commodity/v1/bannerShow”;
private String ShowUrl = “http://172.17.8.100/small/commodity/v1/commodityList”;
private RecyclerAdapter adapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag01_item,container, false);
banner = (XBanner) view.findViewById(R.id.banner);
recyclerView = (XRecyclerView) view.findViewById(R.id.recycler);
presenter = new ShowPresenter(new ShowModule(), this);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//设置图片
banner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
MyResult result = (MyResult) model;
Glide.with(getActivity()).load(result.getImageUrl()).into((ImageView) view);
}
});
//创建布局管理器
LinearLayoutManager manager = new LinearLayoutManager(getActivity());
manager.setOrientation(LinearLayoutManager.VERTICAL);
//设置布局管理器
recyclerView.setLayoutManager(manager);
//创建适配器
adapter = new RecyclerAdapter(getActivity());
//设置适配器
recyclerView.setAdapter(adapter);
//获取图片
presenter.Showget(0, PicUrl);
presenter.Showget(1, ShowUrl);
}
@Override
public void success(int type, String data) {
if (type == 0) {
Gson gson = new Gson();
PicBean picBean = gson.fromJson(data, PicBean.class);
List<MyResult> result = picBean.getResult();
banner.setBannerData(result);
} else if (type == 1) {
Gson gson = new Gson();
JavaBean javaBean = gson.fromJson(data, JavaBean.class);
ResultBean result = javaBean.getResult();
Rxxp rxxp = result.getRxxp();
Mlss mlss = result.getMlss();
Pzsh pzsh = result.getPzsh();
List<AllBean> list = new ArrayList<>();
list.add(rxxp);
list.add(mlss);
list.add(pzsh);
adapter.setData(list);
}
}
@Override
public void fail(String error) {
Toast.makeText(getActivity(), error, Toast.LENGTH_LONG);
}
@Override
public void onDestroy() {
super.onDestroy();
presenter.destory();
}
}
RecycleAdapter
public class RecyclerAdapter extends RecyclerView.Adapter {
private Context context;
private List<AllBean> list = new ArrayList<>();
public RecyclerAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
int type = getItemViewType(i);
RecyclerView.ViewHolder holder = null;
switch (type) {
case 0:
//热销新品
View view = View.inflate(context, R.layout.adapter_rxxp, null);
holder = new RxxpViewHolder(view);
break;
case 1:
//魔丽时尚
View view1 = View.inflate(context, R.layout.adapter_mlss, null);
holder = new MlssViewHolder(view1);
break;
case 2:
//品质生活
View view2 = View.inflate(context, R.layout.adapter_pzsh, null);
holder = new PzshViewHolder(view2);
break;
}
return holder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
if (viewHolder instanceof RxxpViewHolder && list.get(i) instanceof Rxxp) {
Log.i("RecyclerAdapter", list.get(i).toString());
RxxpViewHolder holder = (RxxpViewHolder) viewHolder;
Rxxp rxxp = (Rxxp) list.get(i);
holder.title.setText(rxxp.getName());
//创建适配器
RxxpAdapter adapter = new RxxpAdapter(context);
//创建布局管理器
LinearLayoutManager manager = new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.HORIZONTAL);
holder.recyclerView.setLayoutManager(manager);
holder.recyclerView.setAdapter(adapter);
List<Bean> list = rxxp.getCommodityList();
adapter.setData(list);
} else if (viewHolder instanceof MlssViewHolder && list.get(i) instanceof Mlss) {
Log.i("RecyclerAdapter", list.get(i).toString());
MlssViewHolder holder = (MlssViewHolder) viewHolder;
Mlss mlss = (Mlss) list.get(i);
holder.title.setText(mlss.getName());
//创建适配器
MlssAdapter adapter = new MlssAdapter(context);
//创建布局管理器
LinearLayoutManager manager = new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.VERTICAL);
holder.recyclerView.setLayoutManager(manager);
holder.recyclerView.setAdapter(adapter);
List<Bean> al = mlss.getCommodityList();
adapter.setData(al);
} else if (viewHolder instanceof PzshViewHolder && list.get(i) instanceof Pzsh) {
Log.i("RecyclerAdapter", list.get(i).toString());
PzshViewHolder holder = (PzshViewHolder) viewHolder;
Pzsh pzsh = (Pzsh) list.get(i);
holder.title.setText(pzsh.getName());
//创建适配器
PzshAdapter adapter = new PzshAdapter(context);
//创建布局管理器
GridLayoutManager manager = new GridLayoutManager(context, 2);
holder.recyclerView.setLayoutManager(manager);
holder.recyclerView.setAdapter(adapter);
List<Bean> al = pzsh.getCommodityList();
adapter.setData(al);
}
}
@Override
public int getItemCount() {
return list.size();
}
public void setData(List<AllBean> list) {
this.list = list;
notifyDataSetChanged();
}
@Override
public int getItemViewType(int position) {
if (list.get(position) instanceof Rxxp) {
return 0;
} else if (list.get(position) instanceof Mlss) {
return 1;
} else {
return 2;
}
}
public class RxxpViewHolder extends RecyclerView.ViewHolder {
TextView title;
RecyclerView recyclerView;
public RxxpViewHolder(@NonNull View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.tv_title);
recyclerView = (RecyclerView) itemView.findViewById(R.id.rxxp_recycler);
}
}
public class PzshViewHolder extends RecyclerView.ViewHolder {
TextView title;
RecyclerView recyclerView;
public PzshViewHolder(@NonNull View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.tv_title);
recyclerView = (RecyclerView) itemView.findViewById(R.id.recycler);
}
}
public class MlssViewHolder extends RecyclerView.ViewHolder {
TextView title;
RecyclerView recyclerView;
public MlssViewHolder(@NonNull View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.home_list_01_text);
recyclerView = (RecyclerView) itemView.findViewById(R.id.recycler_mlss);
}
}
}
RxxpAdapter
public class RxxpAdapter extends RecyclerView.Adapter<RxxpAdapter.ViewHolder> {
private Context context;
private List<Bean> al=new ArrayList<>();
public RxxpAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context,R.layout.rxxp_item,null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
viewHolder.title.setText(al.get(i).getCommodityName());
viewHolder.price.setText("¥"+al.get(i).getPrice());
Glide.with(context).load(al.get(i).getMasterPic()).into(viewHolder.image);
}
@Override
public int getItemCount() {
return al.size();
}
public void setData(List<Bean> list) {
this.al=list;
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView title ,price;
ImageView image;
public ViewHolder(@NonNull View itemView) {
super(itemView);
title=(TextView) itemView.findViewById(R.id.rxxp_title);
price=(TextView) itemView.findViewById(R.id.rxxp_price);
image=(ImageView) itemView.findViewById(R.id.rxxp_img);
}
}
}
MlssAdapter
public class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.MlssViewHolder> {
private Context context;
private List<Bean> list=new ArrayList<>();
public MlssAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public MlssViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context, R.layout.mlss_item,null);
MlssViewHolder holder=new MlssViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull MlssViewHolder viewHolder, int i) {
viewHolder.title.setText(list.get(i).getCommodityName());
viewHolder.price.setText("¥"+list.get(i).getPrice());
Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.iamge);
Toast.makeText(context,list.get(i).toString(),Toast.LENGTH_LONG).show();
}
@Override
public int getItemCount() {
return list.size();
}
public void setData(List<Bean> al) {
this.list=al;
notifyDataSetChanged();
}
public class MlssViewHolder extends RecyclerView.ViewHolder {
TextView title,price;
ImageView iamge;
public MlssViewHolder(@NonNull View itemView) {
super(itemView);
title=(TextView) itemView.findViewById(R.id.tv_title);
price=(TextView) itemView.findViewById(R.id.price);
iamge=(ImageView) itemView.findViewById(R.id.image_view);
}
}
}
PzshAdapter
public class PzshAdapter extends RecyclerView.Adapter<PzshAdapter.ViewHolder> {
private Context context;
private List<Bean> list=new ArrayList<>();
public PzshAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context, R.layout.pzsh_item,null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
viewHolder.title.setText(list.get(i).getCommodityName());
viewHolder.price.setText("¥"+list.get(i).getPrice());
Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.iamge);
}
@Override
public int getItemCount() {
return list.size();
}
public void setData(List<Bean> al) {
this.list=al;
notifyDataSetChanged();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView title,price;
ImageView iamge;
public ViewHolder(@NonNull View itemView) {
super(itemView);
title=(TextView) itemView.findViewById(R.id.tv_title);
price=(TextView) itemView.findViewById(R.id.price);
iamge=(ImageView) itemView.findViewById(R.id.image_view);
}
}
}