首页展示(项目)

package android.bw.com.app0329.fragment;

import android.bw.com.app0329.R;
import android.bw.com.app0329.adapter.HomeListAdapter;
import android.bw.com.app0329.mvp.bannerBean.BannerResult;
import android.bw.com.app0329.mvp.bannerBean.User;
import android.bw.com.app0329.mvp.model.UserModelImp;
import android.bw.com.app0329.mvp.presenter.UserPresenterImp;
import android.bw.com.app0329.mvp.shoplistBean.HomeBaseListBean;
import android.bw.com.app0329.mvp.shoplistBean.Mlss;
import android.bw.com.app0329.mvp.shoplistBean.Pzsh;
import android.bw.com.app0329.mvp.shoplistBean.Rxxp;
import android.bw.com.app0329.mvp.shoplistBean.Shop;
import android.bw.com.app0329.mvp.shoplistBean.ShopResult;
import android.bw.com.app0329.mvp.view.UserView;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.stx.xhb.xbanner.XBanner;
import com.stx.xhb.xbanner.entity.SimpleBannerInfo;

import java.util.ArrayList;
import java.util.List;

public class ShouFragment extends Fragment implements UserView {

private XBanner xbanner;
private UserPresenterImp userPresenterImp;
private RecyclerView recycle_view;
private ArrayList<HomeBaseListBean>  shopList=new ArrayList<>();
private HomeListAdapter listAdapter;

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view= View.inflate(getActivity(), R.layout.shou_fragment,null);
    //初始化控件
    xbanner = view.findViewById(R.id.xbanner);
    recycle_view = view.findViewById(R.id.recycle_view);

    userPresenterImp= new UserPresenterImp(new UserModelImp(),this);
    userPresenterImp.doBannerShow(0);
    userPresenterImp.doShopListShow(1);

    //创建适配器
    listAdapter = new HomeListAdapter(getActivity());
    //设置适配器
    recycle_view.setAdapter(listAdapter);

    //设置布局管理器
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getActivity());
    linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    recycle_view.setLayoutManager(linearLayoutManager);

    return view;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    xbanner.loadImage(new XBanner.XBannerAdapter() {
        @Override
        public void loadBanner(XBanner banner, Object model, View view, int position) {
            BannerResult bannerResult= (BannerResult) model;
            Glide.with(getActivity()).load(bannerResult.getImageUrl()).into((ImageView) view);
        }
    });
}

@Override
public void success(int type, String data) {
    if (type==0){//banner请求
        Gson gson = new Gson();
        User user = gson.fromJson(data, User.class);
        ArrayList<BannerResult> result = user.getResult();
        xbanner.setBannerData(result);
    }else if(type==1){//首页商品列表
        Gson gson = new Gson();
        Shop shop = gson.fromJson(data, Shop.class);
        ShopResult shopResult = shop.getResult();
        //三个集合
        Mlss mlss = shopResult.getMlss();
        Pzsh pzsh = shopResult.getPzsh();
        Rxxp rxxp = shopResult.getRxxp();

        shopList.add(rxxp);
        shopList.add(mlss);
        shopList.add(pzsh);

        listAdapter.setList(shopList);
    }

}

@Override
public void fail(String error) {

}

}
adapter

package android.bw.com.app0329.adapter;

import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.bw.com.app0329.mvp.shoplistBean.HomeBaseListBean;
import android.bw.com.app0329.mvp.shoplistBean.Mlss;
import android.bw.com.app0329.mvp.shoplistBean.Pzsh;
import android.bw.com.app0329.mvp.shoplistBean.Rxxp;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.ArrayList;

public class HomeListAdapter extends RecyclerView.Adapter {
    private Context context;
    private ArrayList<HomeBaseListBean> list = new ArrayList<>();

    public HomeListAdapter(Context context) {
        this.context = context;
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        int id = getItemViewType(i);
        RecyclerView.ViewHolder viewHolder=null;
        switch (id){
            case 0:
                View view=View.inflate(context, R.layout.adapter_home_list1,null);
                viewHolder = new RxxpViewHolder(view);
                break;
            case 1:
                View view1=View.inflate(context, R.layout.adapter_home_list2,null);
                viewHolder = new MlssViewHloder(view1);
                break;
            case 2:
                View view2=View.inflate(context, R.layout.adapter_home_list3,null);
                viewHolder = new PzshViewHolder(view2);
                break;
        }
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
        if (viewHolder instanceof RxxpViewHolder&&list.get(i) instanceof Rxxp){
            RxxpViewHolder rxxpViewHolder = (RxxpViewHolder) viewHolder;
            Rxxp rxxp= (Rxxp) list.get(i);
            //设置标题
            rxxpViewHolder.rxxp_title.setText(rxxp.getName());
            ArrayList<CommodityList> rxxpCommodityList = rxxp.getCommodityList();

            //创建布局管理器
            LinearLayoutManager manager=new LinearLayoutManager(context);
            manager.setOrientation(LinearLayoutManager.HORIZONTAL);
            rxxpViewHolder.recycle_rxxp.setLayoutManager(manager);

            //设置适配器
            RxxpAdapter rxxpAdapter=new RxxpAdapter(context,rxxpCommodityList);
            rxxpViewHolder.recycle_rxxp.setAdapter(rxxpAdapter);
        }else if(viewHolder instanceof MlssViewHloder&&list.get(i) instanceof Mlss){
            MlssViewHloder  mlssViewHloder= (MlssViewHloder) viewHolder;
            Mlss mlss= (Mlss) list.get(i);

            //设置标题
            mlssViewHloder.mlss_title.setText(mlss.getName());
            ArrayList<CommodityList> mlssCommodityList = mlss.getCommodityList();

            //设置布局管理器
            LinearLayoutManager manager=new LinearLayoutManager(context);
            manager.setOrientation(LinearLayoutManager.VERTICAL);
            mlssViewHloder.recycle_mlss.setLayoutManager(manager);

            //设置适配器
            MlssAdapter mlssAdapter=new MlssAdapter(context,mlssCommodityList);
            //设置适配器
            mlssViewHloder.recycle_mlss.setAdapter(mlssAdapter);
        }else if (viewHolder instanceof PzshViewHolder&&list.get(i) instanceof Pzsh){
            PzshViewHolder pzshViewHolder= (PzshViewHolder) viewHolder;
            Pzsh pzsh= (Pzsh) list.get(i);

            //设置标题
            pzshViewHolder.pzsh_title.setText(pzsh.getName());
            ArrayList<CommodityList> pzshCommodityList = pzsh.getCommodityList();

            //设置布局管理器
            GridLayoutManager manager=new GridLayoutManager(context,2);
            pzshViewHolder.recycle_pzsh.setLayoutManager(manager);

            //设置适配器
            PzshAdapter pzshAdapter=new PzshAdapter(context,pzshCommodityList);
            //设置适配器
            pzshViewHolder.recycle_pzsh.setAdapter(pzshAdapter);
        }
    }

    @Override
    public int getItemCount() {
        return list.size();
    }


    public void setList(ArrayList<HomeBaseListBean> list) {
        this.list = list;
        notifyDataSetChanged();
    }

    //热销新品
    private class RxxpViewHolder extends RecyclerView.ViewHolder{

        private TextView rxxp_title;
        private RecyclerView recycle_rxxp;

        public RxxpViewHolder(@NonNull View itemView) {
            super(itemView);
            rxxp_title = itemView.findViewById(R.id.rxxp_title);
            recycle_rxxp = itemView.findViewById(R.id.recycle_rxxp);
        }
    }

    //魔丽时尚
    private class MlssViewHloder extends RecyclerView.ViewHolder{

        private TextView mlss_title;
        private RecyclerView recycle_mlss;

        public MlssViewHloder(@NonNull View itemView) {
            super(itemView);
            mlss_title = itemView.findViewById(R.id.mlss_title);
            recycle_mlss = itemView.findViewById(R.id.recycle_mlss);
        }
    }

    //品质生活
    private class PzshViewHolder extends RecyclerView.ViewHolder{

        private TextView pzsh_title;
        private RecyclerView recycle_pzsh;

        public PzshViewHolder(@NonNull View itemView) {
            super(itemView);
            pzsh_title = itemView.findViewById(R.id.pzsh_title);
            recycle_pzsh = itemView.findViewById(R.id.recycle_pzsh);
        }
    }
    @Override
    public int getItemViewType(int i) {
        if (list.get(i) instanceof Rxxp){
            return  0;
        }else if(list.get(i) instanceof Mlss ){
            return 1;
        }else{
            return 2;
        }
    }
}

魅力时尚

package android.bw.com.app0329.adapter;

import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.ArrayList;

public class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.ViewHolder> {
    private Context context;
    private ArrayList<CommodityList> list=new ArrayList<>();

    public MlssAdapter(Context context, ArrayList<CommodityList> list) {
        this.context = context;
        this.list = list;
    }

    @NonNull
    @Override
    public MlssAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view=View.inflate(context, R.layout.mlss_layout,null);
        ViewHolder mlssHolder = new ViewHolder(view);
        return mlssHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull MlssAdapter.ViewHolder viewHolder, int i) {
        Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.mlss_img);
        viewHolder.mlss_name.setText(list.get(i).getCommodityName());
        viewHolder.mlss_price.setText("¥"+list.get(i).getPrice());
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        private ImageView mlss_img;
        private TextView mlss_name,mlss_price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            mlss_img = itemView.findViewById(R.id.mlss_img);
            mlss_name = itemView.findViewById(R.id.mlss_name);
            mlss_price=itemView.findViewById(R.id.mlss_price);
        }
    }
}

品质生活

package android.bw.com.app0329.adapter;

import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.ArrayList;

public class PzshAdapter extends RecyclerView.Adapter<PzshAdapter.ViewHolder>{
    private Context context;
    private ArrayList<CommodityList> list=new ArrayList<>();

    public PzshAdapter(Context context, ArrayList<CommodityList> list) {
        this.context = context;
        this.list = list;
    }

    @NonNull
    @Override
    public PzshAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view=View.inflate(context, R.layout.pzsh_layout,null);
        ViewHolder pzshHolder = new ViewHolder(view);
        return pzshHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull PzshAdapter.ViewHolder viewHolder, int i) {
        Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.pzsh_img);
        viewHolder.pzsh_name.setText(list.get(i).getCommodityName());
        viewHolder.pzsh_price.setText("¥"+list.get(i).getPrice());
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        private  ImageView pzsh_img;
        private  TextView pzsh_name,pzsh_price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            pzsh_img = itemView.findViewById(R.id.pzsh_img);
            pzsh_name = itemView.findViewById(R.id.pzsh_name);
            pzsh_price = itemView.findViewById(R.id.pzsh_price);
        }
    }
}

热销生活

package android.bw.com.app0329.adapter;

import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.ArrayList;

public class RxxpAdapter extends RecyclerView.Adapter<RxxpAdapter.ViewHolder>{
    private Context context;
    private ArrayList<CommodityList> list=new ArrayList<>();

    public RxxpAdapter(Context context, ArrayList<CommodityList> list) {
        this.context = context;
        this.list = list;
    }

    @NonNull
    @Override
    public RxxpAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view=View.inflate(context, R.layout.rxxp_layout,null);
        ViewHolder Rxxpholder=new ViewHolder(view);
        return Rxxpholder;
    }

    @Override
    public void onBindViewHolder(@NonNull RxxpAdapter.ViewHolder viewHolder, int i) {
        Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.rxxp_img);
        viewHolder.text_name.setText(list.get(i).getCommodityName());
        viewHolder.text_price.setText("¥"+list.get(i).getPrice());
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        private ImageView rxxp_img;
        private TextView text_name,text_price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            rxxp_img = itemView.findViewById(R.id.rxxp_img);
            text_name = itemView.findViewById(R.id.text_name);
            text_price = itemView.findViewById(R.id.text_price);
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值