recycleview的多条目展示
2017-11-23 09:30
134 查看
这是一种麻烦的方式 也可以选择在item中在添加recycleview
主要是适配器
public class HomeAdapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> { private HomeBean.DataBean bean; private Context context; private int TYPE_1=0; private int TYPE_2=1; private int TYPE_3=2; private int TYPE_4=3; private List<String> list; private List<Integer> list2; public HomeAdapter(HomeBean.DataBean bean, Context context) { this.bean = bean; this.context = context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { switch (viewType){ case 0: View inflate = LayoutInflater.from(context).inflate(R.layout.item_home, parent, false); MyViewHolder myViewHolder=new MyViewHolder(inflate); return myViewHolder; case 1: View inflate2 = LayoutInflater.from(context).inflate(R.layout.item_home2, parent, false); MyViewHolder1 myViewHolder1=new MyViewHolder1(inflate2); return myViewHolder1; case 2: View inflate3 = LayoutInflater.from(context).inflate(R.layout.item_home3, parent, false); MyViewHolder2 myViewHolder2=new MyViewHolder2(inflate3); return myViewHolder2; case 3: View inflate4 = LayoutInflater.from(context).inflate(R.layout.item_home4, parent, false); MyViewHolder3 myViewHolder3=new MyViewHolder3(inflate4); return myViewHolder3; } return null; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { DisplayImageOptions options = Utils.options(); list = new ArrayList<>(); List<HomeBean.DataBean.Ad1Bean> ad1 = bean.getAd1(); for (int i=0;i<bean.getAd1().size();i++){ list.add(ad1.get(i).getImage()); } if(holder instanceof MyViewHolder){ ((MyViewHolder) holder).banner.setDelayTime(2000); ((MyViewHolder) holder).banner.setBannerStyle(Banner.CIRCLE_INDICATOR); ((MyViewHolder) holder).banner.setImages(list); }else if(holder instanceof MyViewHolder1){ ((MyViewHolder1) holder).text1.setText(bean.getAd5().get(0).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd5().get(0).getImage(),((MyViewHolder1) holder).imageView,options); ((MyViewHolder1) holder).text2.setText(bean.getAd5().get(1).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd5().get(1).getImage(),((MyViewHolder1) holder).imageView2,options); ((MyViewHolder1) holder).text3.setText(bean.getAd5().get(2).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd5().get(2).getImage(),((MyViewHolder1) holder).imageView3,options); ((MyViewHolder1) holder).text4.setText(bean.getAd5().get(3).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd5().get(3).getImage(),((MyViewHolder1) holder).imageView4,options); }else if(holder instanceof MyViewHolder2){ ((MyViewHolder2) holder).text1.setText(bean.getDefaultGoodsList().get(0).getGoods_name()); ImageLoader.getInstance().displayImage(bean.getDefaultGoodsList().get(0).getGoods_img(),((MyViewHolder2) holder).imageView,options); ((MyViewHolder2) holder).text2.setText(bean.getDefaultGoodsList().get(1).getGoods_name()); ImageLoader.getInstance().displayImage(bean.getDefaultGoodsList().get(1).getGoods_img(),((MyViewHolder2) holder).imageView2,options); ((MyViewHolder2) holder).text3.setText(bean.getDefaultGoodsList().get(2).getGoods_name()); ImageLoader.getInstance().displayImage(bean.getDefaultGoodsList().get(2).getGoods_img(),((MyViewHolder2) holder).imageView3,options); ((MyViewHolder2) holder).text4.setText(bean.getDefaultGoodsList().get(0).getGoods_name()); ImageLoader.getInstance().displayImage(bean.getDefaultGoodsList().get(0).getGoods_img(),((MyViewHolder2) holder).imageView4,options); }else if(holder instanceof MyViewHolder3){ ((MyViewHolder3) holder).text1.setText(bean.getAd8().get(0).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd8().get(0).getImage(),((MyViewHolder3) holder).imageView,options); ((MyViewHolder3) holder).text2.setText(bean.getAd8().get(1).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd8().get(1).getImage(),((MyViewHolder3) holder).imageView2,options); ((MyViewHolder3) holder).text3.setText(bean.getAd8().get(2).getTitle()); ImageLoader.getInstance().displayImage(bean.getAd8().get(2).getImage(),((MyViewHolder3) holder).imageView3,options); } } @Override public int getItemCount() { return 4; } @Override public int getItemViewType(int position) { if(position==0){ return TYPE_1; }else if (position==1){ return TYPE_2; }else if(position==2){ return TYPE_3; }else if(position==3){ return TYPE_4; }else{ return -1; } } } class MyViewHolder extends XRecyclerView.ViewHolder { Banner banner; public MyViewHolder(View view) { super(view); banner= (Banner) view.findViewById(R.id.banner); } } class MyViewHolder1 extends XRecyclerView.ViewHolder { ImageView imageView,imageView2,imageView3,imageView4; TextView text1,text2,text3,text4; public MyViewHolder1(View view) { super(view); imageView= (ImageView) view.findViewById(R.id.image1); text1= (TextView) view.findViewById(R.id.text1); imageView2= (ImageView) view.findViewById(R.id.image2); text2= (TextView) view.findViewById(R.id.text2); imageView3= (ImageView) view.findViewById(R.id.image3); text3= (TextView) view.findViewById(R.id.text3); imageView4= (ImageView) view.findViewById(R.id.image4); text4= (TextView) view.findViewById(R.id.text4); } } class MyViewHolder2 extends XRecyclerView.ViewHolder { ImageView imageView,imageView2,imageView3,imageView4; TextView text1,text2,text3,text4; public MyViewHolder2(View view) { super(view); imageView= (ImageView) view.findViewById(R.id.image1); text1= (TextView) view.findViewById(R.id.text1); imageView2= (ImageView) view.findViewById(R.id.image2); text2= (TextView) view.findViewById(R.id.text2); imageView3= (ImageView) view.findViewById(R.id.image3); text3= (TextView) view.findViewById(R.id.text3); imageView4= (ImageView) view.findViewById(R.id.image4); text4= (TextView) view.findViewById(R.id.text4); } } class MyViewHolder3 extends XRecyclerView.ViewHolder { ImageView imageView,imageView2,imageView3; TextView text1,text2,text3; public MyViewHolder3(View view) { super(view); imageView= (ImageView) view.findViewById(R.id.image1); text1= (TextView) view.findViewById(R.id.text1); imageView2= (ImageView) view.findViewById(R.id.image2); text2= (TextView) view.findViewById(R.id.text2); imageView3= (ImageView) view.findViewById(R.id.image3); text3= (TextView) view.findViewById(R.id.text3); } }
相关文章推荐
- RecycleView的多条目展示及原生下拉的刷新
- XRecycleView,多条目展示
- MVP框架+RXJava+reftorfit请求网络数据+XRecycleView多条目展示(banner轮播+条目展示、刷新加载)、点击事件+fresco图片加载
- Retrofit+RxJava+Okhttp+RecycleView+MVP简单的展示数据
- RecycleView适配器及多条目及点击事件
- RecycleView条目点击后北京高亮显示
- RecycleView加载不同条目
- recyclerview 的单条目展示
- Recycleview实现多条目加载布局
- RecycleView之条目上下移动替换,左右移动删除
- RecyclerView的多条目展示
- RecyclerView多条目展示
- ListView + SpringView,实现条目的数据展示[网络数据统一处理版]
- 如何避免RecycleView复杂多条目布局时的加载不流畅
- RecyclerView多条目展示
- RecycleView的多条目
- recycleview条目的背景选择器
- RecyclerView实现条目展示 增加删除 3种管理器
- RecyclerView的多条目展示,使用OkHttp解析数据
- RecycleView实现多条目