recyclerview多条目


mainActivity代码:

public class MainActivity extends AppCompatActivity implements IView{
    RecyclerView recyclerview;
    String path = "http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerview = (RecyclerView) findViewById(R.id.recyclerview_show);

        MyPresenter myPresenter = new MyPresenter();
        myPresenter.attach(this);
        myPresenter.get(path, DadaBean.class);
    }

    @Override
    public void onSuccess(Object object) {
        Log.e("MainActivity","请求网络成功");
        DadaBean dadabean = (DadaBean) object;
        DadaBean.DataBean data = dadabean.getData();
        LinearLayoutManager lm = new LinearLayoutManager(this);
        recyclerview.setLayoutManager(lm);
        AllAdapter allAdapter = new AllAdapter(this, data);
        recyclerview.setAdapter(allAdapter);
    }

    @Override
    public void onFalse(Exception ex) {
        Log.e("MainActivity","请求网络失败");
    }
}
 
适配器
public class AllAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    Context context;
    DadaBean.DataBean data;
    public static final int Lun = 0;
    public static final int Recyc = 1;
    public AllAdapter(Context context, DadaBean.DataBean data) {
        this.context = context;
        this.data = data;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        if(viewType==Lun){
            View v = View.inflate(context,R.layout.banner_item,null);
            ViewHolderBanner vb = new ViewHolderBanner(v);
            return vb;
        }else{
            View v = View.inflate(context,R.layout.recyclerview_item,null);
            ViewHolderDuo vd = new ViewHolderDuo(v);
            return vd;
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if(holder instanceof ViewHolderBanner){
            ViewHolderBanner vb = (ViewHolderBanner) holder;
            List<DadaBean.DataBean.Ad1Bean> ad1 = data.getAd1();
            List<String> ImgArr = new ArrayList<>();
            for(int i=0;i<ad1.size();i++){
                ImgArr.add(ad1.get(i).getImage());
            }
            vb.banner.setImageLoader(new BannerImageLoader());
            vb.banner.setImages(ImgArr);
            vb.banner.setDelayTime(1000);
            vb.banner.start();
        }else if(holder instanceof ViewHolderDuo){
            ViewHolderDuo vd = (ViewHolderDuo) holder;
            GridLayoutManager lm = new GridLayoutManager(context,2);
            vd.rv.setLayoutManager(lm);
            List<DadaBean.DataBean.SubjectsBean.GoodsListBeanX> goodsList = data.getSubjects().get(0).getGoodsList();

            RecyclerViewAdapte rp = new RecyclerViewAdapte(context,goodsList);
            vd.rv.setAdapter(rp);
        }
    }

    @Override
    public int getItemCount() {
        return 2;
    }

    class ViewHolderBanner extends RecyclerView.ViewHolder{
        private Banner banner;
        public ViewHolderBanner(View itemView) {
            super(itemView);
            banner = itemView.findViewById(R.id.banner_show);
        }
    }

    class ViewHolderDuo extends RecyclerView.ViewHolder{
        private RecyclerView rv;
        public ViewHolderDuo(View itemView) {
            super(itemView);
            rv = itemView.findViewById(R.id.recyclerview_item_show);
        }
    }

    @Override
    public int getItemViewType(int position) {
        if(position%2==0){
            return Lun;
        }
        return Recyc;
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值