多布局

MyAdapter

public class MyRecycleViewAdapter extends RecyclerView.Adapter {
    private List<Bean.T1348647909107Bean> list;
    private Context context;

    public MyRecycleViewAdapter(List<Bean.T1348647909107Bean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        RecyclerView.ViewHolder holder=null;
        if (viewType == 1) {
            View view = LayoutInflater.from(context).inflate(R.layout.item, null);
            holder = new ViewHolder(view);
        } else if (viewType == 2) {
            View view = LayoutInflater.from(context).inflate(R.layout.item1, null);
            holder = new ViewHolder1(view);
        } else {
            View view = LayoutInflater.from(context).inflate(R.layout.item2, null);
           holder = new ViewHolder2(view);
        }
        return holder;
    }
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof  ViewHolder) {
            ((ViewHolder) holder).text.setText(list.get(position).getDigest());
            Glide.with(context).load(list.get(position).getTopic_background()).into(((ViewHolder) holder).img);
        }else if (holder instanceof ViewHolder1){
            ((ViewHolder1) holder).text.setText(list.get(position).getDigest());
            Glide.with(context).load(list.get(position).getTopic_background()).into(((ViewHolder1) holder).imgg);
            Glide.with(context).load(list.get(position).getImgsrc()).into(((ViewHolder1) holder).imgg2);
        }else if (holder instanceof ViewHolder2){
            Glide.with(context).load(list.get(position).getTopic_background()).into(((ViewHolder2) holder).img0);
            Glide.with(context).load(list.get(position).getImgsrc()).into(((ViewHolder2) holder).img1);
            Glide.with(context).load(list.get(position).getImgType()).into(((ViewHolder2) holder).img2);
        }
    }

    @Override
    public int getItemViewType(int position) {
        if (list.get(position).getTopic_background()!=null&&list.get(position).getImgsrc()!=null){
            return 2;
        } else if (list.get(position).getImgsrc()!=null){
            return 1;
        }else {
            return 3;
        }
    }
    @Override
    public int getItemCount() {
        return list.size();
    }
    public static class ViewHolder extends RecyclerView.ViewHolder {
        public View rootView;
        public TextView text;
        public ImageView img;

        public ViewHolder(View rootView) {
            super(rootView);
            this.rootView = rootView;
            this.text = (TextView) rootView.findViewById(R.id.text);
            this.img = (ImageView) rootView.findViewById(R.id.img);
        }
    }
    public static class ViewHolder1 extends RecyclerView.ViewHolder{
        public View rootView;
        public TextView text;
        public ImageView imgg;
        public ImageView imgg2;

        public ViewHolder1(View rootView) {
            super(rootView);
            this.rootView = rootView;
            this.text = (TextView) rootView.findViewById(R.id.text);
            this.imgg = (ImageView) rootView.findViewById(R.id.imgg);
            this.imgg2 = (ImageView) rootView.findViewById(R.id.imgg2);
        }

    }

    public static   class ViewHolder2 extends RecyclerView.ViewHolder{
        public View rootView;
        public ImageView img0;
        public ImageView img1;
        public ImageView img2;

        public ViewHolder2(View rootView) {
            super(rootView);
            this.rootView = rootView;
            this.img0 = (ImageView) rootView.findViewById(R.id.img0);
            this.img1 = (ImageView) rootView.findViewById(R.id.img1);
            this.img2 = (ImageView) rootView.findViewById(R.id.img2);
        }
    }
}

MainActivity

  1. 解析(retrofit+Rxjava)
 retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .baseUrl("http://c.m.163.com/")
                .build();
        retrofit.create(ApiService.class)
                .getSend()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<Bean>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(Bean bean) {
                        beans = bean.getT1348647909107();
                        viewAdapter 
                        = new MyRecycleViewAdapter(beans,  MainActivity.this);
                        recycle.setAdapter(viewAdapter);
                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onComplete() {

                    }
                });

ApiService(接口)

 @GET("nc/article/headline/T1348647909107/0-20.html")
    Observable<Bean> getSend();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值