购物车二级列表

本文详细介绍了一个购物车模块的设计与实现过程,包括XML布局、API接口、Bean类定义、OkHttp网络请求、Model和Presenter层的交互,以及Adapter的定制。通过具体的代码示例,展示了如何构建一个功能完整的购物车页面,涉及商品展示、全选功能、商家列表及商品详情等。

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

主xml布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <com.hjm.bottomtabbar.BottomTabBar
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/bottomtb"
        ></com.hjm.bottomtabbar.BottomTabBar>

</LinearLayout>

 

购物车fragment布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="9"
        android:id="@+id/rec"
        />

    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_weight="1"
        android:layout_height="wrap_content">
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/quan"
            android:layout_marginLeft="15dp"
            android:text="全选"
            />


        <TextView
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:id="@+id/numm"

            />

        <TextView
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:id="@+id/pay"
            />
    </LinearLayout>



</LinearLayout>

 

商家列表

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/shangjia"
            android:layout_marginLeft="15dp"

            />

        <TextView
            android:id="@+id/titles"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            />


    </LinearLayout>


    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/adapter_rec"
        />

</LinearLayout>

 

//商品的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:orientation="horizontal"
    >



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginLeft="15dp"
        >
        <CheckBox
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:id="@+id/shangpin"
            />
        <ImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@mipmap/ic_launcher_round"
            android:id="@+id/img"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />


            <TextView
                android:id="@+id/price"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />



        </LinearLayout>


    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="25dp"/>

</LinearLayout>

 

Api接口类

package bwie.com.lenovo.day19.api;

public class Api {

    public static final String GOU_URL = "http://www.wanandroid.com/tools/mockapi/6523/restaurant-list";

}

 

bean类

package bwie.com.lenovo.day19.bean;


import java.util.List;

public class GouBean {



    private int status;
    private String message;
    private List<DataBean> data;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {


        public int id;
        public String name;
        public int restaurant_id;
        public String created_at;
        public int __v;
        public List<SpusBean> spus;


        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getRestaurant_id() {
            return restaurant_id;
        }

        public void setRestaurant_id(int restaurant_id) {
            this.restaurant_id = restaurant_id;
        }

        public String getCreated_at() {
            return created_at;
        }

        public void setCreated_at(String created_at) {
            this.created_at = created_at;
        }

        public int get__v() {
            return __v;
        }

        public void set__v(int __v) {
            this.__v = __v;
        }

        public List<SpusBean> getSpus() {
            return spus;
        }

        public void setSpus(List<SpusBean> spus) {
            this.spus = spus;
        }

        public boolean isChecked() {
            return true;
        }

        public void setChecked(boolean isAllChecked) {

        }

        public static class SpusBean {
            /**
             * _id : 5ac5b0913714cc2d644f461e
             * id : 1089
             * restaurant_id : 32
             * category_id : 143
             * name : 套餐8:海苔鸡肉卷+辣翅+可乐
             * praise_num : 49
             * praise_content : 好吃
             * month_saled : 1
             * month_saled_content : 1
             * pic_url : http://p1.meituan.net/wmproduct/735b78e97285214f1e8c62346546e92052099.jpg
             * __v : 0
             * created_at : 2018-04-05T05:08:44.549Z
             * skus : [{"description":"","price":"20.8","id":1090,"_id":"5ac5b0913714cc2d644f461f"}]
             * attrs : []
             * status_remind_list : []
             */

            public String _id;
            public int id;
            public int restaurant_id;
            public int category_id;
            public String name;
            public int praise_num;
            public String praise_content;
            public int month_saled;
            public String month_saled_content;
            public String pic_url;
            public int __v;
            public String created_at;
            public List<SkusBean> skus;
            public List<?> attrs;
            public List<?> status_remind_list;

            public String get_id() {
                return _id;
            }

            public void set_id(String _id) {
                this._id = _id;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public int getRestaurant_id() {
                return restaurant_id;
            }

            public void setRestaurant_id(int restaurant_id) {
                this.restaurant_id = restaurant_id;
            }

            public int getCategory_id() {
                return category_id;
            }

            public void setCategory_id(int category_id) {
                this.category_id = category_id;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public int getPraise_num() {
                return praise_num;
            }

            public void setPraise_num(int praise_num) {
                this.praise_num = praise_num;
            }

            public String getPraise_content() {
                return praise_content;
            }

            public void setPraise_content(String praise_content) {
                this.praise_content = praise_content;
            }

            public int getMonth_saled() {
                return month_saled;
            }

            public void setMonth_saled(int month_saled) {
                this.month_saled = month_saled;
            }

            public String getMonth_saled_content() {
                return month_saled_content;
            }

            public void setMonth_saled_content(String month_saled_content) {
                this.month_saled_content = month_saled_content;
            }

            public String getPic_url() {
                return pic_url;
            }

            public void setPic_url(String pic_url) {
                this.pic_url = pic_url;
            }

            public int get__v() {
                return __v;
            }

            public void set__v(int __v) {
                this.__v = __v;
            }

            public String getCreated_at() {
                return created_at;
            }

            public void setCreated_at(String created_at) {
                this.created_at = created_at;
            }

            public List<SkusBean> getSkus() {
                return skus;
            }

            public void setSkus(List<SkusBean> skus) {
                this.skus = skus;
            }

            public List<?> getAttrs() {
                return attrs;
            }

            public void setAttrs(List<?> attrs) {
                this.attrs = attrs;
            }

            public List<?> getStatus_remind_list() {
                return status_remind_list;
            }

            public void setStatus_remind_list(List<?> status_remind_list) {
                this.status_remind_list = status_remind_list;
            }

            public void setChecked(boolean isChecked) {

            }

            public boolean isChecked() {
                return true;
            }


            public static class SkusBean {
                /**
                 * description :
                 * price : 20.8
                 * id : 1090
                 * _id : 5ac5b0913714cc2d644f461f
                 */

                public String description;
                public String price;
                public int id;
                public String _id;

                public String getDescription() {
                    return description;
                }

                public void setDescription(String description) {
                    this.description = description;
                }

                public String getPrice() {
                    return price;
                }

                public void setPrice(String price) {
                    this.price = price;
                }

                public int getId() {
                    return id;
                }

                public void setId(int id) {
                    this.id = id;
                }

                public String get_id() {
                    return _id;
                }

                public void set_id(String _id) {
                    this._id = _id;
                }
            }
        }
    }
}

 

//OkHttp网络请求类

package bwie.com.lenovo.day19.okhttp;

import android.os.Environment;
import android.os.Handler;

import com.google.gson.Gson;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import okhttp3.Cache;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class OkHttp {

    private static volatile OkHttp instence;

    private Handler handler = new Handler();
    private final OkHttpClient okHttpClient;

    //添加拦截器
    private Interceptor getInterceptor(){

        Interceptor interceptor = new Interceptor() {
            @Override
            public Response intercept(Chain chain) throws IOException {
                Request request = chain.request();
                Response response = chain.proceed(request);

                return response;
            }
        };
        return interceptor;

    }


    //给OkHttp添加拦截器
    private OkHttp(){

        File file = new File(Environment.getExternalStorageDirectory(), "abcd");

        okHttpClient = new OkHttpClient.Builder()
                .connectTimeout(3000,TimeUnit.SECONDS)
                .readTimeout(3000,TimeUnit.SECONDS)
                .cache(new Cache(file,10*1024))
                .addInterceptor(getInterceptor())
                .build();

    }

    //单例模式
    public static OkHttp getInstence(){
        if (instence == null){
            synchronized (OkHttp.class){
                instence = new OkHttp();
            }
        }

        return instence;
    }


    //创建doPost
    public void doPost(String url, Map<String,String> param, final Class clazz, final NetCallBack netCallBack){

        FormBody.Builder builder = new FormBody.Builder();
        for (String key:param.keySet()) {

            builder.add(key,param.get(key));

        }


        Request request = new Request.Builder()
                .url(url)
                .post(builder.build())
                .build();

        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                netCallBack.Fairl();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String string = response.body().string();

                Gson gson = new Gson();
                final Object o = gson.fromJson(string, clazz);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        netCallBack.Success(o);
                    }
                });

            }
        });

    }

    //创建doGet请求
    public void doGet(String url, final Class clazz, final NetCallBack netCallBack){
        Request request = new Request.Builder()
                .url(url)
                .get()
                .build();


        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                netCallBack.Fairl();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String string = response.body().string();

                Gson gson = new Gson();
                final Object o = gson.fromJson(string, clazz);
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        netCallBack.Success(o);
                    }
                });

            }
        });

    }



    public interface NetCallBack{

        void Success(Object object);
        void Fairl();

    }


}

 

 

//Model接口

package bwie.com.lenovo.day19.model;

public interface IGouModel {

    public void showGouModel(String url,GouCallBack gouCallBack);

    public interface GouCallBack{

        void Success(Object o);
        void Frilt();
    }

}

 

//Model类

package bwie.com.lenovo.day19.model;

import bwie.com.lenovo.day19.bean.GouBean;
import bwie.com.lenovo.day19.okhttp.OkHttp;

public class GouModel implements IGouModel {
    @Override
    public void showGouModel(String url, final GouCallBack gouCallBack) {
        OkHttp.getInstence().doGet(url, GouBean.class, new OkHttp.NetCallBack() {
            @Override
            public void Success(Object object) {
                gouCallBack.Success(object);
            }

            @Override
            public void Fairl() {

            }
        });
    }
}

 

//presenter接口

package bwie.com.lenovo.day19.presenter;

public interface IGouPresenter {

    public void showGouPre();

}

 

 

//presenter类

package bwie.com.lenovo.day19.presenter;

import bwie.com.lenovo.day19.api.Api;
import bwie.com.lenovo.day19.fragment.GouWuFragment;
import bwie.com.lenovo.day19.model.GouModel;
import bwie.com.lenovo.day19.model.IGouModel;

public class GouPresenter implements IGouPresenter {

    GouWuFragment gouWuFragment;
    private final GouModel gouModel;

    public GouPresenter(GouWuFragment gouWuFragment) {
        this.gouWuFragment = gouWuFragment;

        gouModel = new GouModel();

    }

    @Override
    public void showGouPre() {
        gouModel.showGouModel(Api.GOU_URL, new IGouModel.GouCallBack() {
            @Override
            public void Success(Object o) {

                gouWuFragment.getData(o);

            }

            @Override
            public void Frilt() {

            }
        });
    }
}

 

//商家adapter

package bwie.com.lenovo.day19.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;

import java.util.List;

import bwie.com.lenovo.day19.R;
import bwie.com.lenovo.day19.bean.GouBean;

public class GouAdapter extends RecyclerView.Adapter<GouAdapter.GouHolder> {

    Context context;
    GouBean gouBean;
    List<GouBean.DataBean> list;

    public GouAdapter(Context context, List<GouBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @NonNull
    @Override
    public GouAdapter.GouHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(context).inflate(R.layout.item, viewGroup, false);

        GouHolder gouHolder = new GouHolder(view);

        return gouHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull final GouAdapter.GouHolder gouHolder, final int i) {
        String names = list.get(i).getName();

        gouHolder.name.setText(names);


        //布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
        linearLayoutManager.setOrientation(OrientationHelper.VERTICAL);

        gouHolder.rc.setLayoutManager(linearLayoutManager);

        final WuAdapter wuAdapter = new WuAdapter(context, list,i);
        gouHolder.rc.setAdapter(wuAdapter);


        //点击事件
        //判断商家是不是被选中,如果选中
        gouHolder.shangjia.setChecked(list.get(i).isChecked());

        //子布局适配器点击事件
        wuAdapter.setShopCallBackListener(new WuAdapter.ShopCallBackListener() {
            @Override
            public void callBack() {
                if (mshopCallBackListener!=null){
                    mshopCallBackListener.callBack(gouBean.getData());

                }

                List<GouBean.DataBean> spus = gouBean.getData();
                boolean isAllChecked = true;

                for (GouBean.DataBean bean:spus) {

                    if (!bean.isChecked()){

                        //只要有一个商品未选中,标志位置成false,并且跳出循环
                        isAllChecked = false;
                        break;

                    }

                }

                //刷新商家的状态
                gouHolder.shangjia.setChecked(isAllChecked);

                gouBean.getData().get(i).setChecked(isAllChecked);

            }
        });


        gouHolder.shangjia.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                list.get(i).setChecked(gouHolder.shangjia.isChecked());

                wuAdapter.selectOrremoveAll(gouHolder.shangjia.isChecked());

            }
        });


    }

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

    public class GouHolder extends RecyclerView.ViewHolder {

        CheckBox shangjia;
        TextView name;
        RecyclerView rc;

        public GouHolder(@NonNull View itemView) {
            super(itemView);

            shangjia = itemView.findViewById(R.id.shangjia);
            name = itemView.findViewById(R.id.titles);
            rc = itemView.findViewById(R.id.adapter_rec);


        }
    }




    //接口回调

    private ShopCallBackListener mshopCallBackListener;

    public void setShopCallBackListener(ShopCallBackListener listener) {
        this.mshopCallBackListener = listener;
    }

    public interface ShopCallBackListener{
        void callBack(List<GouBean.DataBean> list);
    }


}

 

//商品adapter

package bwie.com.lenovo.day19.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.List;

import bwie.com.lenovo.day19.R;
import bwie.com.lenovo.day19.bean.GouBean;

public class WuAdapter extends RecyclerView.Adapter<WuAdapter.WuHolder> {

    Context context;
    List<GouBean.DataBean> list;
    int a;

    public WuAdapter(Context context, List<GouBean.DataBean> list, int i) {
        this.context = context;
        this.list = list;
        this.a = i;
    }

    @NonNull
    @Override
    public WuAdapter.WuHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(context).inflate(R.layout.item2, viewGroup, false);

        WuHolder wuHolder = new WuHolder(view);

        return wuHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull WuAdapter.WuHolder wuHolder, final int i) {


        wuHolder.name.setText(list.get(a).getName());
      //  wuHolder.price.setText(list.get(i).getSkus().get(i).getPrice());

        wuHolder.price.setText(list.get(a).getSpus().get(i).getPraise_num()+"");
        Glide.with(context).load(list.get(a).getSpus().get(i).getPic_url()).into(wuHolder.img);

        //判断商品是否选中
//        wuHolder.shangpin.setChecked(list.get(i).isChecked());
        wuHolder.shangpin.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                //如果备选中
                list.get(i).setChecked(isChecked);

                if (shopCallBackListener!=null){

                    shopCallBackListener.callBack();

                }

            }
        });

    }

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


    public class WuHolder extends RecyclerView.ViewHolder {

        private final ImageView img;
        private final TextView name;
        private final TextView price;
        private final CheckBox shangpin;

        public WuHolder(@NonNull View itemView) {
            super(itemView);

            img = itemView.findViewById(R.id.img);
            name = itemView.findViewById(R.id.name);
            price = itemView.findViewById(R.id.price);
            shangpin = itemView.findViewById(R.id.shangpin);


        }
    }


    //定义子产品的全选反选的方法
    public void selectOrremoveAll(boolean isChecked){

        for (GouBean.DataBean listBean:list) {
            listBean.setChecked(isChecked);


        }
        notifyDataSetChanged();

    }



    //定义接口回调

    private ShopCallBackListener shopCallBackListener;

    public void setShopCallBackListener(ShopCallBackListener shopCallBackListener) {
        this.shopCallBackListener = shopCallBackListener;
    }

    public interface ShopCallBackListener{

        void callBack();

    }


}

 

//activity主页面

package bwie.com.lenovo.day19;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.hjm.bottomtabbar.BottomTabBar;

import bwie.com.lenovo.day19.fragment.GouWuFragment;
import bwie.com.lenovo.day19.fragment.MyFragment;

public class MainActivity extends AppCompatActivity {


    private BottomTabBar bot;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bot = findViewById(R.id.bottomtb);

        bot.init(getSupportFragmentManager())
                .setFontSize(16)
                .setImgSize(50,50)
                .setTabPadding(4,6,8)
                .setChangeColor(Color.RED,Color.BLUE)
                .addTabItem("购物车",R.drawable.ic_action_name_car,GouWuFragment.class)
                .addTabItem("我的",R.drawable.common_tab_btn_my_n_hdpi,MyFragment.class);

    }
}

 

 

//购物车fragment页面

package bwie.com.lenovo.day19.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;

import java.util.List;

import bwie.com.lenovo.day19.R;
import bwie.com.lenovo.day19.adapter.GouAdapter;
import bwie.com.lenovo.day19.bean.GouBean;
import bwie.com.lenovo.day19.presenter.GouPresenter;

public class GouWuFragment extends Fragment {

    private RecyclerView rec;
    private GouPresenter gouPresenter;
    List<GouBean.DataBean> list;
    private CheckBox quan;
    private GouBean gouBean;
    private GouAdapter gouAdapter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.gouwufragment, container, false);

        rec = view.findViewById(R.id.rec);

        quan = view.findViewById(R.id.quan);


        //布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
        linearLayoutManager.setOrientation(OrientationHelper.VERTICAL);

        rec.setLayoutManager(linearLayoutManager);

        //presenter
        gouPresenter = new GouPresenter(this);
        gouPresenter.showGouPre();
        //全选点击事件
        quan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkSeller(quan.isChecked());
                //刷新适配器
                gouAdapter.notifyDataSetChanged();
            }
        });


        return view;
    }


    public void getData(Object o){

        GouBean gouBean = (GouBean) o;
        list = gouBean.getData();
        gouAdapter = new GouAdapter(getActivity(), list);

        rec.setAdapter(gouAdapter);
    }



    //全选反选
    private void checkSeller(boolean bool){

        //循环遍历商家,看商家是否选中
        for (int a=0;a<list.size();a++){

            //遍历商家,改变状态
            GouBean.DataBean dataBean = list.get(a);
            dataBean.setChecked(bool);
            //循环遍历产品,看产品是否选中
            /*List<GouBean.DataBean> data = gouBean.getData();
            for (int i = 0;i<data.size();i++){

                //遍历商品,改变状态,如果选中了
                data.get(i).setChecked(bool);

            }*/


        }


    }


}

 

//需要的依赖有

//okhttp3的依赖
    implementation 'com.squareup.okhttp3:okhttp:3.7.0'
    implementation 'com.squareup.okio:okio:1.12.0'
//BottomTabBar依赖
    implementation 'com.hjm:BottomTabBar:1.1.1'
//recyclerListView依赖
    implementation 'com.android.support:recyclerview-v7:28.0.0'
//gson的依赖
    implementation 'com.google.code.gson:gson:2.8.5'
//glide的依赖
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    //imageloader的依赖
    implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    implementation 'com.youth.banner:banner:1.4.9'
    implementation "com.jakewharton:butterknife:8.4.0"
    annotationProcessor "com.jakewharton:butterknife-compiler:8.4.0"

 

 

 

//清单文件需要的权限

<uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值