recyclerview的适配器

本文介绍了一种实现购物车功能的自定义RecyclerView适配器,并展示了如何根据不同类型的列表项创建多种ViewHolder来展示不同的数据。此外,还介绍了图片加载配置以及列表项点击事件的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

&&&&&&&&&&&&&&&717   1:public class NavCartFragmentAdapter extends RecyclerView.Adapter {


    List<Gouwuche.GoodsListBean> goods_list;
    private final DisplayImageOptions options;
    private MyviewHolders holders;
    private HashMap<Integer, Boolean> ischecked;

    public NavCartFragmentAdapter(List<Gouwuche.GoodsListBean> goods_list) {

        this.goods_list = goods_list;
        imageLoader = ImageLoader.getInstance();
        File file = new File(Environment.getExternalStorageDirectory(), "Bwei");
        if (!file.exists())
            file.mkdirs();

        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getActivity())
                .diskCache(new UnlimitedDiskCache(file))
                .build();

        imageLoader.init(configuration);

        options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.mipmap.ic_launcher)
                .cacheOnDisk(true)
                .build();


    }

    @Override
    public MyviewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.navcartfragment_item, parent, false);
        MyviewHolders myviewHolders = new MyviewHolders(view);
        return myviewHolders;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        holders = (MyviewHolders) holder;
        holders.xiangqing.setText(goods_list.get(position).getGoods_name());
        holders.jiage.setText(goods_list.get(position).getMarket_price() + "");
        getimage(goods_list.get(position).getThumb_url(), holders.imagecc);
        holders.check3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean isSelectall) {
                if(!isSelectall){
                    isSelectall=true;
                    for (int i=0;i<goods_list.size();i++){
                        goods_list.get(position).isSelect=true;



                    }


                }



            }
        });


        holders.imagecc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getActivity(), ThreeActivity.class);
                intent.putExtra("name1", goods_list.get(position).getGoods_name());
                intent.putExtra("name2", goods_list.get(position).getMarket_price() + "");
                intent.putExtra("name3", goods_list.get(position).getThumb_url());
                startActivity(intent);
            }
        });
        holders.checkbox1.setId(position);




    }


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

    public class MyviewHolders extends RecyclerView.ViewHolder {


        //            private final CheckBox checkboxgou;
        private final ImageView imagecc;
        private final TextView xiangqing;
        private final TextView jiage;
        private final CheckBox checkbox1;
        private final CheckBox check3;

        public MyviewHolders(View itemView) {
            super(itemView);

            imagecc = (ImageView) itemView.findViewById(R.id.imagecc);
            xiangqing = (TextView) itemView.findViewById(R.id.xiangqing);
            jiage = (TextView) itemView.findViewById(R.id.jiage);
            checkbox1 = (CheckBox) itemView.findViewById(R.id.checkbox1);
            check3 = (CheckBox) itemView.findViewById(R.id.check3);

        }

    }

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   2:class NavWeFragmentfragmentAdapter extends RecyclerView.Adapter {

        List<StreamRead.美女Bean> list;

        public NavWeFragmentfragmentAdapter(List<StreamRead.美女Bean> list) {
            this.list = list;
            imageLoader = ImageLoader.getInstance();
            File file = new File(Environment.getExternalStorageDirectory(), "Bwei");
            if (!file.exists())
                file.mkdirs();

            ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getActivity())
                    .diskCache(new UnlimitedDiskCache(file))
                    .build();

            imageLoader.init(configuration);

            options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.mipmap.ic_launcher)
                    .cacheOnDisk(true)
                    .build();

        }

        @Override
        public int getItemViewType(int position) {
            if (position % 5 == 0) {
                return 0;
            }
            return 1;

        }

:

        public class MyViewHolder extends RecyclerView.ViewHolder {
            ImageView imagitem;
            TextView textitem;


            public MyViewHolder(View itemView) {
                super(itemView);
                imagitem = (ImageView) itemView.findViewById(R.id.imagitem);
                textitem = (TextView) itemView.findViewById(R.id.textitem);
            }
        }


        public class MyViewHolder1 extends RecyclerView.ViewHolder {

            ImageView imagitem2;
            TextView textitem2;

            public MyViewHolder1(View itemView) {
                super(itemView);
                imagitem2 = (ImageView) itemView.findViewById(R.id.imagitem2);
                textitem2 = (TextView) itemView.findViewById(R.id.textitem2);
            }
        }


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


            switch (viewType){
                case 0:
                    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.itme, parent, false);
                    MyViewHolder myViewHolder=new MyViewHolder(view);
                    return myViewHolder;
                case 1:
                    View view2 = LayoutInflater.from(parent.getContext()).inflate(R.layout.item2, parent, false);
                    MyViewHolder1 myViewHolder1=new MyViewHolder1(view2);
                    return myViewHolder1;
            }



            return null;
        }

        @Override
        public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

            int type = getItemViewType(position);

            switch(type){

                case 0:

                    MyViewHolder holder1= (MyViewHolder) holder;
                    holder1.textitem.setText(list.get(position).getDigest());
//            x.image().bind(holder.imagitem, list.get(position).getImg());
                    getimage(list.get(position).getImg(), holder1.imagitem);

                    break;


                case 1:

                    MyViewHolder1 holder2= (MyViewHolder1) holder;



                    holder2.textitem2.setText(list.get(position).getDigest());
//            x.image().bind(holder.imagitem, list.get(position).getImg());
                    getimage(list.get(position).getImg(), holder2.imagitem2);

                    break;



            }



        }





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









    }





                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值