XBanner图片轮播,XRecyclerView列表

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

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值