二级列表购物车

大致布局,不洗勿喷

购物车布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ExpandableListView
        android:id="@+id/expandablelv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/ll_bottom">
    </ExpandableListView>
    <LinearLayout
        android:id="@+id/ll_bottom"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        android:background="#f9f6f6">
        <CheckBox
            android:id="@+id/all_checkbox"
            android:gravity="center"
            android:text="全选"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="50dp"
            android:orientation="vertical"
            android:gravity="center">
            <TextView
                android:id="@+id/tv_allmoney"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="总价:0.0"
                />
            <TextView
                android:id="@+id/tv_allnumber"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="共0件商品"/>
        </LinearLayout>
        <Button
            android:id="@+id/btn_balance"
            android:gravity="center"
            android:layout_marginLeft="150dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="#f6373e"
            android:text="去结算"/>
    </LinearLayout>
</RelativeLayout>
一级列表布局

<?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:padding="20dp"
    android:orientation="horizontal">
    <!--android:focusable="false"-->
    <CheckBox

        android:id="@+id/store_chekbox"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:gravity="center"/>

    <TextView
        android:id="@+id/tv_store_name"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:gravity="center"
        android:background="@android:color/white"
        android:drawableLeft="@drawable/shop_ico"
        android:drawablePadding="10dp"
        android:text="第八号当铺" />
</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="horizontal"
    android:padding="20dp">
    <!--android:focusable="false"-->
    <CheckBox
        android:layout_weight="1"
        android:id="@+id/goods_checkbox"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />

    <LinearLayout
        android:layout_weight="5"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="三只松鼠" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/img_goods_logo"
                android:background="@mipmap/ic_launcher"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/tv_price"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="¥20" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/tv_color"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="颜色:黑色" />

                    <TextView
                        android:id="@+id/tv_size"
                        android:text="尺寸:"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />
                </LinearLayout>

                <com.example.fanjie.monthmock.view.AddDeleteView
                    android:id="@+id/adv_num"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                </com.example.fanjie.monthmock.view.AddDeleteView>
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

    <ImageView
        android:id="@+id/img_del"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:background="@drawable/rublish"
        android:layout_gravity="center"
        android:clickable="true" />
</LinearLayout>

数据实体类

public class GoodsBean {



    private String msg;
    private String code;
    private List<DataBean> data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

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

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

    public static class DataBean {
       

        private String sellerName;
        private String sellerid;
        private List<ListBean> list;

        public String getSellerName() {
            return sellerName;
        }

        public void setSellerName(String sellerName) {
            this.sellerName = sellerName;
        }

        public String getSellerid() {
            return sellerid;
        }

        public void setSellerid(String sellerid) {
            this.sellerid = sellerid;
        }

        public List<ListBean> getList() {
            return list;
        }

        public void setList(List<ListBean> list) {
            this.list = list;
        }

        public static class ListBean {
            

            private double bargainPrice;
            private String createtime;
            private String detailUrl;
            private String images;
            private int num;
            private int pid;
            private double price;
            private int pscid;
            private int selected;
            private int sellerid;
            private String subhead;
            private String title;

            public double getBargainPrice() {
                return bargainPrice;
            }

            public void setBargainPrice(double bargainPrice) {
                this.bargainPrice = bargainPrice;
            }

            public String getCreatetime() {
                return createtime;
            }

            public void setCreatetime(String createtime) {
                this.createtime = createtime;
            }

            public String getDetailUrl() {
                return detailUrl;
            }

            public void setDetailUrl(String detailUrl) {
                this.detailUrl = detailUrl;
            }

            public String getImages() {
                return images;
            }

            public void setImages(String images) {
                this.images = images;
            }

            public int getNum() {
                return num;
            }

            public void setNum(int num) {
                this.num = num;
            }

            public int getPid() {
                return pid;
            }

            public void setPid(int pid) {
                this.pid = pid;
            }

            public double getPrice() {
                return price;
            }

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

            public int getPscid() {
                return pscid;
            }

            public void setPscid(int pscid) {
                this.pscid = pscid;
            }

            public int getSelected() {
                return selected;
            }

            public void setSelected(int selected) {
                this.selected = selected;
            }

            public int getSellerid() {
                return sellerid;
            }

            public void setSellerid(int sellerid) {
                this.sellerid = sellerid;
            }

            public String getSubhead() {
                return subhead;
            }

            public void setSubhead(String subhead) {
                this.subhead = subhead;
            }

            public String getTitle() {
                return title;
            }

            public void setTitle(String title) {
                this.title = title;
            }
        }
    }
}


获取p层

 private void addData() {
        presenter = new GoodsPresenter();
        presenter.attachView(this);
        presenter.getGoods();
    }
得到回调接口,设置适配器数据

 @Override
    public void success(GoodsBean goodsBean) {
        ArrayList<String> yiji = new ArrayList<>();
        List<GoodsBean.DataBean> data = goodsBean.getData();
        for (int i=0;i<data.size();i++){
            //一级列表的集合
            GoodsBean.DataBean dataBean = data.get(i);
            String sellerName = dataBean.getSellerName();
            yiji.add(sellerName);
            child.add(dataBean.getList());
        }
        adapter = new MyExpandableAdapter(this, yiji,child);
        expandableListView.setAdapter(adapter);
        expandableListView.setGroupIndicator(null);
        //设置展开
        for (int i=0;i<yiji.size();i++){
            expandableListView.expandGroup(i);
        }
    }

    @Override
    public void failed(Exception e) {

    }

二级列表适配器
public class MyExpandableAdapter extends BaseExpandableListAdapter{
    private Context context;
    private List<String> list;
    List<List<GoodsBean.DataBean.ListBean>> child;
   // private List<ChildBean> list2;
    public MyExpandableAdapter(Context context, List<String> list,List<List<GoodsBean.DataBean.ListBean>> child) {
        this.context = context;
        this.list = list;
        this.child=child;
    }

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

    @Override
    public int getChildrenCount(int i) {
        return child.get(i).size();
    }

    @Override
    public Object getGroup(int i) {
        return list.get(i);
    }

    @Override
    public Object getChild(int i, int i1) {
        return child.get(i1);
    }

    @Override
    public long getGroupId(int i) {
        return i;
    }

    @Override
    public long getChildId(int i, int i1) {
        return i1;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }
    class ViewHolder{
        private CheckBox store_chekbox;
        private TextView tv_store_name;
    }
    @Override
    public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {
       ViewHolder vh;
        if (view==null){
            view = View.inflate(context, R.layout.item_store, null);
            vh=new ViewHolder();
            vh.store_chekbox=(CheckBox)view.findViewById(R.id.store_chekbox);
            vh.tv_store_name=(TextView)view.findViewById(R.id.tv_store_name);
            view.setTag(vh);
        }else {
            vh= (ViewHolder) view.getTag();
        }
        //设置数据
//        Log.i("TAG",list2.get(i).getTitle()+"ssss");
        vh.tv_store_name.setText(list.get(i));
        return view;
    }
    class ViewHolder2{
        private CheckBox goods_checkbox;
        private TextView tv_title;
        private ImageView img_goods_logo;
        private TextView tv_price;
        private AddDeleteView adv_num;
    }
    @Override
    public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {
        ViewHolder2 vh;
        if (view==null){
            view = View.inflate(context, R.layout.item_goods, null);
            vh=new ViewHolder2();
          vh.goods_checkbox=(CheckBox)view.findViewById(R.id.goods_checkbox);
            vh.tv_title=(TextView)view.findViewById(R.id.tv_title);
            vh.tv_price=(TextView)view.findViewById(R.id.tv_price);
            vh.img_goods_logo=(ImageView)view.findViewById(R.id.img_goods_logo);
            vh.adv_num=(AddDeleteView)view.findViewById(R.id.adv_num);
            view.setTag(vh);
        }else {
            vh= (ViewHolder2) view.getTag();
        }
        //设置数据
        vh.tv_title.setText(child.get(i).get(i1).getTitle());
        vh.tv_price.setText("¥"+child.get(i).get(i1).getPrice());
        String images = child.get(i).get(i1).getImages();
        String[] split = images.split("\\|");
        Glide.with(context).load(split[0]).into(vh.img_goods_logo);
//        Log.i("TAGs",list2.get(i1).toString()+"wwwwwwwwwwwww");
        return view;
    }

    @Override
    public boolean isChildSelectable(int i, int i1) {
        return true;
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值