public class Frag01 extends Fragment implements ShowView {
private XBanner banner;
private XRecyclerView recyclerView;
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 ShowPresenterIml presenter;
private RecyclerAdapter adapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag01, container, false);
banner = view.findViewById(R.id.banner);
recyclerView = view.findViewById(R.id.recycler);
presenter = new ShowPresenterIml(new ShowModelIml(), 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) {
PicBean picbean = new Gson().fromJson(data, PicBean.class);
List<MyResult> results = picbean.getResult();
banner.setBannerData(results);
} else if (type == 1) {
JavaBean javaBean = new 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_SHORT).show();
}
@Override
public void onDestroy() {
super.onDestroy();
presenter.destory();
}
}
**
Recycleradapter
**
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);
}
}
}