多条目高级使用

来源:互联网 发布:python基础教程第2版 编辑:程序博客网 时间:2024/05/16 14:18
 //枚举    private  enum  Item_Type{        Typeone ,Typetwo,Typethree,Typefour    }    //类型判断    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        if (viewType == Item_Type.Typeone.ordinal()) {            View mView = LayoutInflater.from(mcontext).inflate(R.layout.recycle_item_a, null);            ViewHolderA viewHolder = new ViewHolderA(mView);            return viewHolder;        }else if (viewType == Item_Type.Typetwo.ordinal()) {            View mView = LayoutInflater.from(mcontext).inflate(R.layout.recycle_item_b, null);            ViewHolderB viewHolder = new ViewHolderB(mView);            return viewHolder;        } else if (viewType == Item_Type.Typethree.ordinal()) {            View mView = LayoutInflater.from(mcontext).inflate(R.layout.recycle_item_c, null);            ViewHolderC viewHolder = new ViewHolderC(mView);            return viewHolder;        }else if (viewType == Item_Type.Typefour.ordinal()) {            View mView = LayoutInflater.from(mcontext).inflate(R.layout.recycle_item_d, null);            ViewHolderD viewHolder = new ViewHolderD(mView);            return viewHolder;        }        return null;    }//    绑定视图    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        if (holder instanceof ViewHolderA) {            mlist=new ArrayList();            for(int i=0;i<list.getAd1().size();i++){                mlist.add(list.getAd1().get(i).getImage());            }            //设置图片加载器            ((ViewHolderA) holder).mbanner.setImageLoader(new GlideImaGlideImageLoader());            ((ViewHolderA) holder).mbanner.setImages(mlist);            ((ViewHolderA) holder).mbanner.start();        } else if (holder instanceof ViewHolderB) {            List<HomeBean.DataBean.Ad5Bean> ad5 = list.getAd5();            ((ViewHolderB) holder).grid.setAdapter(new GridviewAdapter(mcontext,ad5));        } else if (holder instanceof ViewHolderC) {            List<HomeBean.DataBean.DefaultGoodsListBean> defaultGoodsList = list.getDefaultGoodsList();            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mcontext);            linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);            ((ViewHolderC) holder).defaultrecycleview.setLayoutManager(linearLayoutManager);                    ((ViewHolderC) holder).defaultrecycleview.setAdapter(new HomeAdapter(mcontext,defaultGoodsList));        }else if (holder instanceof ViewHolderD) {            List<HomeBean.DataBean.SubjectsBean> subjects = list.getSubjects();            ((ViewHolderD) holder).goodlist.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));            ((ViewHolderD) holder).goodlist.setAdapter(new SubjectAdapter(mcontext,subjects));        }    }//    多条枚举数量    @Override    public int getItemCount() {        return 4;    }//多条目类型    @Override    public int getItemViewType(int position) {        if (position == 0) {            return Item_Type.Typeone.ordinal();        } else if (position == 1) {            return Item_Type.Typetwo.ordinal();        } else if (position == 2) {            return Item_Type.Typethree.ordinal();        }else if (position == 3) {            return Item_Type.Typefour.ordinal();        }        return -1;    }