public class ShouFragment 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 ShowPresenter presenter;
private RecyclerAdapter adapter;
//jid
private List allBeans = new ArrayList<>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.shou,container,false);
//初始化组件
banner = view.findViewById(R.id.banner);
recyclerView = view.findViewById(R.id.recycler);
presenter = new ShowPresenter(new ShowModel(), 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);
//获取XBanner图片
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 results = picBean.getResult();
banner.setBannerData(results);
}else if (type == 1){
ShopBean shopBean = new Gson().fromJson(data, ShopBean.class);
ShopBean.ResultBean result = shopBean.getResult();
// 热销新品的bean
ShopBean.ResultBean.RxxpBean rxxp = result.getRxxp();
//魔力时尚的bean
ShopBean.ResultBean.MlssBean mlss = result.getMlss();
//品质生活的bean
ShopBean.ResultBean.PzshBean pzsh = result.getPzsh();
//空的allBean
allBeans.add(rxxp);
allBeans.add(mlss);
allBeans.add(pzsh);
adapter.setData(allBeans);
}
}
@Override
public void fail(String error) {
Toast.makeText(getActivity(),error,Toast.LENGTH_SHORT);
}
@Override
public void onDestroy() {
super.onDestroy();
presenter.destroy();
}
}
**
RecyclerView
**
public class RecyclerAdapter extends RecyclerView.Adapter{
private Context context;
private List 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 ShopBean.ResultBean.RxxpBean){
RxxpViewHolder holder = (RxxpViewHolder) viewHolder;
ShopBean.ResultBean.RxxpBean rxxpBean = (ShopBean.ResultBean.RxxpBean) list.get(i);
((RxxpViewHolder) viewHolder).title.setText(rxxpBean.getName());
//创建适配器
RxxpAdapter adapter = new RxxpAdapter(context,rxxpBean.getCommodityList());
//创建布局管理器
LinearLayoutManager manager = new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.HORIZONTAL);
holder.recyclerView.setLayoutManager(manager);
holder.recyclerView.setAdapter(adapter);
}else if (viewHolder instanceof MlssViewHolder && list.get(i) instanceof ShopBean.ResultBean.MlssBean){//魔力时尚
MlssViewHolder holder = (MlssViewHolder) viewHolder;
ShopBean.ResultBean.MlssBean mlssBean = (ShopBean.ResultBean.MlssBean) list.get(i);
((MlssViewHolder) viewHolder).title.setText(mlssBean.getName());
//创建适配器
MlssAdapter adapter = new MlssAdapter(context,mlssBean.getCommodityList());
//创建布局管理器
LinearLayoutManager manager = new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.VERTICAL);
holder.recyclerView.setLayoutManager(manager);
holder.recyclerView.setAdapter(adapter);
}else if (viewHolder instanceof PzshViewHolder && list.get(i) instanceof ShopBean.ResultBean.PzshBean){//品质生活
PzshViewHolder holder = (PzshViewHolder) viewHolder;
ShopBean.ResultBean.PzshBean pzshBean = (ShopBean.ResultBean.PzshBean) list.get(i);
((PzshViewHolder) viewHolder).title.setText(pzshBean.getName());
//创建适配器
PzshAdapter adapter = new PzshAdapter(context,pzshBean.getCommodityList());
//创建布局管理器
GridLayoutManager manager = new GridLayoutManager(context, 2);
//LinearLayoutManager manager = new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.HORIZONTAL);
holder.recyclerView.setLayoutManager(manager);
holder.recyclerView.setAdapter(adapter);
}
}
//多条目
@Override
public int getItemViewType(int position) {
if (list.get(position) instanceof ShopBean.ResultBean.RxxpBean){
return 0;
}else if (list.get(position) instanceof ShopBean.ResultBean.MlssBean){
return 1;
}else {
return 2;
}
}
@Override
public int getItemCount() {
return list.size();
}
public void setData(List allBeans) {
this.list=allBeans;
notifyDataSetChanged();
}
//热销新品
public class RxxpViewHolder extends RecyclerView.ViewHolder{
RecyclerView recyclerView;
TextView title;
public RxxpViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.tv_title);
recyclerView = itemView.findViewById(R.id.rxxp_recycler);
}
}
//品质生活
public class PzshViewHolder extends RecyclerView.ViewHolder{
RecyclerView recyclerView;
TextView title;
public PzshViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.tv_title);
recyclerView = itemView.findViewById(R.id.recycler);
}
}
//魔丽时尚
public class MlssViewHolder extends RecyclerView.ViewHolder{
RecyclerView recyclerView;
TextView title;
public MlssViewHolder(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.home_list_01_text);
recyclerView = itemView.findViewById(R.id.recycler_mlss);
}
}
}