MVP仿京东购物车

查询购物车和删除购物的接口

    public final String gx="https://www.zhaoapi.cn/product/updateCarts";
    public final String sc="https://www.zhaoapi.cn/product/deleteCart";

主布局


import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;


import com.example.ykmn.gwc.gwc_Bean;
import com.example.ykmn.gwc.gwc_Pc;
import com.example.ykmn.gwc.gwc_Vi;
import com.example.ykmn.gwc.slpriceBean;


import java.util.List;


public class Main3Activity extends AppCompatActivity implements gwc_Vi {


    private CheckBox qx;
    private myGwc my;
    private TextView zj;
    private Button js;
    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(msg.what==0){
                slpriceBean slpriceBean = (com.example.ykmn.gwc.slpriceBean) msg.obj;
                zj.setText("人民币¥"+slpriceBean.getPrice());
                js.setText("去结算"+slpriceBean.getCount());
            }
        }
    };
    private gwc_Pc gwc_pc;
    private Gwc_Myadapter myadapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        qx = findViewById(R.id.qx);
        my = findViewById(R.id.my);
        zj = findViewById(R.id.zj);
        js = findViewById(R.id.js);
        gwc_pc = new gwc_Pc(this);
        gwc_pc.gwcinfo();
    }


    @Override
    public void Onsuccess(final gwc_Bean gwc_bean) {


        qx.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                switch (view.getId()){
                    case R.id.qx:
                        if(myadapter!=null){
                            myadapter.quanxuan(qx.isChecked());
                        }
                        break;
                }
            }
        });
        runOnUiThread(new Runnable() {
            @Override
            public void run() {


                if(gwc_bean!=null){
                    Log.d("zzz", "run: "+gwc_bean.toString());
                    for (int i=0;i<gwc_bean.getData().size();i++){
                        if(isChildInGroupChecked(i,gwc_bean)){
                            gwc_bean.getData().get(i).setGroupcheck(true);
                        }
                    }
                    qx.setChecked(isAllGroupChecked(gwc_bean));
                    myadapter = new Gwc_Myadapter(gwc_bean,Main3Activity.this,gwc_pc,handler);
                    my.setAdapter(myadapter);
                    for (int i=0;i<gwc_bean.getData().size();i++){
                        my.expandGroup(i);
                    }
                    myadapter.zongjia();
                }else{
                    Toast.makeText(Main3Activity.this, "购物车空", Toast.LENGTH_SHORT).show();
                }


            }
        });
    }
    private boolean isAllGroupChecked(gwc_Bean gwc_bean){
        for (int i=0;i<gwc_bean.getData().size();i++){
            if(!gwc_bean.getData().get(i).isGroupcheck()){
                return false;
            }


        }
        return  true;
    }
    private  boolean isChildInGroupChecked(int i,gwc_Bean gwc_bean){
        List<gwc_Bean.DataBean.ListBean> list = gwc_bean.getData().get(i).getList();
        for (int j=0;j<list.size();j++){
            if(list.get(j).getSelected()==0){
                return  false;
            }
        }
        return  true;
    }


    @Override
    protected void onResume() {
        super.onResume();
        gwc_pc.gwcinfo();
    }
}

适配器

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;


import com.bumptech.glide.Glide;
import com.example.ykmn.gwc.gwc_Bean;
import com.example.ykmn.gwc.gwc_Pc;
import com.example.ykmn.gwc.slpriceBean;


import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;


/**
 * author:Created by MingShao on 2018/1/16.
 */


public class Gwc_Myadapter extends BaseExpandableListAdapter{
    gwc_Bean gwc_bean;
    Context context;
    int childIndex;
    gwc_Pc gwc_pc;
    Handler handler;
    int allIndex;


    public Gwc_Myadapter(gwc_Bean gwc_bean, Context context, gwc_Pc gwc_pc, Handler handler) {
        this.gwc_bean = gwc_bean;
        this.context = context;


        this.gwc_pc = gwc_pc;
        this.handler = handler;


    }






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


    @Override
    public int getChildrenCount(int i) {
        return gwc_bean.getData().get(i).getList().size();
    }


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


    @Override
    public Object getChild(int i, int i1) {
        return gwc_bean.getData().get(i).getList().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 true;
    }


    @Override
    public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) {
        final faViewholder fv;
        if(view==null){
            view=View.inflate(context,R.layout.father,null);
            fv=new faViewholder();
            fv.fa_cb=view.findViewById(R.id.fa_cb);
            fv.fa_text=view.findViewById(R.id.fa_text);
            view.setTag(fv);
        }else{
            fv= (faViewholder) view.getTag();
        }
        final gwc_Bean.DataBean dataBean = gwc_bean.getData().get(i);
        fv.fa_text.setText(dataBean.getSellerName());
        fv.fa_cb.setChecked(dataBean.isGroupcheck());
        fv.fa_cb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                childIndex=0;
                qxchild(dataBean,fv.fa_cb.isChecked());
            }
        });
        return view;
    }


    private void qxchild(final gwc_Bean.DataBean dataBean, final boolean checked) {
        gwc_Bean.DataBean.ListBean listBean = dataBean.getList().get(childIndex);
        Log.d("zzzz", "qxchild: "+listBean.toString());
        Map<String,String> map=new HashMap<>();
        map.put("uid","4885");
        map.put("sellerid", String.valueOf(listBean.getSellerid()));
        map.put("pid", String.valueOf(listBean.getPid()));
        map.put("selected", String.valueOf(checked?1:0));
        map.put("num", String.valueOf(listBean.getNum()));
        OkHttp3Util.doPost(Wz.gx, map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {


            }


            @Override
            public void onResponse(Call call, Response response) throws IOException {
            if(response.isSuccessful()){
                childIndex++;
                if(childIndex<dataBean.getList().size()){
                    qxchild(dataBean,checked);
                }else{
                    gwc_pc.gwcinfo();
                }
            }
            }
        });
    }




    @Override
    public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {
       childViewHolder cv;
       if(view==null){
           view=View.inflate(context,R.layout.child,null);
           cv=new childViewHolder();
           cv.child_cb=view.findViewById(R.id.child_cb);
           cv.child_img=view.findViewById(R.id.child_img);
           cv.child_jia=view.findViewById(R.id.child_jia);
           cv.child_jian=view.findViewById(R.id.child_jian);
           cv.child_sc=view.findViewById(R.id.child_sc);
           cv.child_sl=view.findViewById(R.id.child_sl);
           cv.child_title=view.findViewById(R.id.child_title);
           cv.child_price=view.findViewById(R.id.child_price);
           view.setTag(cv);
       }else{
           cv= (childViewHolder) view.getTag();
       }
        final gwc_Bean.DataBean.ListBean listBean = gwc_bean.getData().get(i).getList().get(i1);


        cv.child_title.setText(listBean.getTitle());
        cv.child_price.setText(listBean.getPrice()+"");
        String[] split = listBean.getImages().split("\\|");
        Glide.with(context).load(split[0]).into(cv.child_img);
        cv.child_sl.setText(listBean.getNum()+"");
        cv.child_cb.setChecked(listBean.getSelected()==0?false:true);
        cv.child_cb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Map<String,String> map=new HashMap<>();
                map.put("uid","4885");
                map.put("sellerid", String.valueOf(listBean.getSellerid()));
                map.put("num", String.valueOf(listBean.getNum()));
                map.put("selected", String.valueOf(listBean.getSelected()==0?1:0));
                map.put("pid", String.valueOf(listBean.getPid()));
                OkHttp3Util.doPost(Wz.gx, map, new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {


                    }


                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                    if(response.isSuccessful()){
                        gwc_pc.gwcinfo();
                    }
                    }
                });
            }
        });
                cv.child_jia.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Map<String,String> map=new HashMap<>();
                        map.put("uid","4885");
                        map.put("sellerid", String.valueOf(listBean.getSellerid()));
                        map.put("pid", String.valueOf(listBean.getPid()));
                        map.put("selected", String.valueOf(listBean.getSelected()));
                        map.put("num", String.valueOf(listBean.getNum()+1));
                        OkHttp3Util.doPost(Wz.gx, map, new Callback() {
                            @Override
                            public void onFailure(Call call, IOException e) {


                            }


                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
                            if(response.isSuccessful()){
                                gwc_pc.gwcinfo();
                            }
                            }
                        });
                    }
                });
        cv.child_jian.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Map<String,String> map=new HashMap<>();
                map.put("uid","4885");
                map.put("sellerid", String.valueOf(listBean.getSellerid()));
                map.put("pid", String.valueOf(listBean.getPid()));
                map.put("num", String.valueOf(listBean.getNum()-1));
                map.put("sellected", String.valueOf(listBean.getSelected()==0?1:0));
                OkHttp3Util.doPost(Wz.gx, map, new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {


                    }


                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                    if(response.isSuccessful()){
                        gwc_pc.gwcinfo();
                    }
                    }
                });
            }
        });
        cv.child_sc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Map<String,String> map=new HashMap<>();
                map.put("uid","4885");
                map.put("pid", String.valueOf(listBean.getPid()));
                OkHttp3Util.doPost(Wz.sc, map, new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {


                    }


                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                    if(response.isSuccessful()){
                        gwc_pc.gwcinfo();
                    }
                    }
                });
            }
        });
        return view;
    }


    @Override
    public boolean isChildSelectable(int i, int i1) {
        return true;
    }
    //计算总价
    public void zongjia(){
        double price=0;
        int count=0;
        for (int i=0;i<gwc_bean.getData().size();i++){
            List<gwc_Bean.DataBean.ListBean> list = gwc_bean.getData().get(i).getList();
            for(int j=0;j<list.size();j++){
                if(list.get(j).getSelected()==1){
                    price+=list.get(j).getPrice()*list.get(j).getNum();
                    count+=list.get(j).getNum();
                }
            }
        }
        DecimalFormat decimalFormat=new DecimalFormat("0.00");
        String format = decimalFormat.format(price);
        slpriceBean slpriceBean=new slpriceBean(format,count);
        Message msg = Message.obtain();
        msg.what=0;
        msg.obj=slpriceBean;
        handler.sendMessage(msg);
    }
    public void quanxuan(boolean checked){
        List<gwc_Bean.DataBean.ListBean> list = new ArrayList<>();
        for (int i=0;i<gwc_bean.getData().size();i++){
            List<gwc_Bean.DataBean.ListBean> list1 = gwc_bean.getData().get(i).getList();
            for(int j=0;j<list1.size();j++){
                list.add(list1.get(j));
            }
        }
        allIndex=0;
        gxallChecked(list,checked);


    }


    private void gxallChecked(final List<gwc_Bean.DataBean.ListBean> list, final boolean checked) {
        gwc_Bean.DataBean.ListBean listBean = list.get(allIndex);
        Map<String,String> map=new HashMap<>();
        map.put("uid","4885");
        map.put("sellerid", String.valueOf(listBean.getSellerid()));
        map.put("pid", String.valueOf(listBean.getPid()));
        map.put("num", String.valueOf(listBean.getNum()));
        map.put("selected", String.valueOf(checked?1:0));
        OkHttp3Util.doPost(Wz.gx, map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {


            }


            @Override
            public void onResponse(Call call, Response response) throws IOException {
            if(response.isSuccessful()){
                allIndex++;
                if(allIndex<list.size()){
                    gxallChecked(list,checked);
                }else{
                    gwc_pc.gwcinfo();
                }


            }
            }
        });
    }




    class faViewholder{
        CheckBox fa_cb;
        TextView fa_text;


    }
    class childViewHolder{
        CheckBox child_cb;
        ImageView child_img;
        TextView child_title;
        TextView child_jian;
        TextView child_jia;
        TextView child_sl;
        Button child_sc;
        TextView child_price;
    }
}

Glide适配图片

import android.content.Context;
import android.widget.ImageView;


import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;


/**
 * author:Created by MingShao on 2018/1/16.
 */


class GlideImageLoader extends ImageLoader {


    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);
    }
}

自定义二级列表

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ExpandableListView;


/**
 * author:Created by MingShao on 2018/1/16.
 */


public class myGwc extends ExpandableListView{
    public myGwc(Context context) {
        super(context);
    }


    public myGwc(Context context, AttributeSet attrs) {
        super(context, attrs);
    }


    public myGwc(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }


    public myGwc(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }
}

P层

public class gwc_Pc implements gwc_Pi{
    gwc_Vi gwc_vi;
    gwc_Mc gwc_mc;


    public gwc_Pc(gwc_Vi gwc_vi) {
        this.gwc_vi = gwc_vi;
        gwc_mc=new gwc_Mc();
    }
    public void gwcinfo(){
        gwc_mc.gwcinfo(this);
    }

    @Override
    public void Onsuccess(gwc_Bean gwc_bean) {
    gwc_vi.Onsuccess(gwc_bean);
    }
}

p层接口

public interface gwc_Pi {
    void Onsuccess(gwc_Bean gwc_bean);
}

V层接口

public interface gwc_Vi {
    void Onsuccess(gwc_Bean gwc_bean);
}

M层


import com.example.ykmn.OkHttp3Util;
import com.example.ykmn.Wz;
import com.google.gson.Gson;


import java.io.IOException;
import java.util.HashMap;
import java.util.Map;


import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;


/**
 * author:Created by MingShao on 2018/1/16.
 */


public class gwc_Mc {
    public void gwcinfo(final gwc_Pi gwc_pi){
        Map<String,String> map = new HashMap<>();
        map.put("uid","4885");
        OkHttp3Util.doPost(Wz.cx, map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {


            }


            @Override
            public void onResponse(Call call, Response response) throws IOException {
            if(response.isSuccessful()){
                String string = response.body().string();
                gwc_Bean gwc_bean = new Gson().fromJson(string, gwc_Bean.class);


                gwc_pi.Onsuccess(gwc_bean);
            }
            }
        });
    }
}

bean类

import java.util.List;


/**
 * author:Created by MingShao on 2018/1/16.
 */


public class gwc_Bean {


    @Override
    public String toString() {
        return "gwc_Bean{" +
                "msg='" + msg + '\'' +
                ", code='" + code + '\'' +
                ", data=" + data +
                '}';
    }


    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 boolean groupcheck;


        @Override
        public String toString() {
            return "DataBean{" +
                    "sellerName='" + sellerName + '\'' +
                    ", sellerid='" + sellerid + '\'' +
                    ", groupcheck=" + groupcheck +
                    ", list=" + list +
                    '}';
        }


        public boolean isGroupcheck() {
            return groupcheck;
        }


        public void setGroupcheck(boolean groupcheck) {
            this.groupcheck = groupcheck;
        }






        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 {
            /**
             * bargainPrice : 11800.0
             * createtime : 2017-10-10T17:33:37
             * detailUrl : https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends
             * images : https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg
             * num : 2
             * pid : 57
             * price : 5199.0
             * pscid : 40
             * selected : 0
             * sellerid : 1
             * subhead : 【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统
             * title : 小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银


             */


            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;
            }
        }
    }
}

slpriceBean类

public class slpriceBean {
    String price;
    int count;


    public slpriceBean(String price, int count) {
        this.price = price;
        this.count = count;
    }


    public String getPrice() {


        return price;
    }


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


    public int getCount() {
        return count;
    }


    public void setCount(int count) {
        this.count = count;
    }
}

主布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context="com.example.ykmn.Main3Activity">
   <com.example.ykmn.myGwc
       android:id="@+id/my"
       android:layout_width="match_parent"
       android:layout_above="@+id/ll"
       android:layout_height="match_parent">


   </com.example.ykmn.myGwc>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/ll"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        >
        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/qx"
            android:layout_weight="2"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/zj"
            android:textColor="#f00"
            android:text="总价"
            android:layout_weight="4"
            />


        <Button
            android:id="@+id/js"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#f00"
            android:text="去结算"
            android:layout_weight="2"
            android:gravity="center"
            android:textColor="#fff" />
    </LinearLayout>
</RelativeLayout>

一级布局

<?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">
<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/fa_cb"
    />


    <TextView
        android:id="@+id/fa_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/fa_cb"
        android:layout_alignBottom="@+id/fa_cb"
        android:layout_centerHorizontal="true"
        android:text="商家" />
</RelativeLayout>

二级布局

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


    <CheckBox
        android:id="@+id/child_cb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/child_img"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="19dp" />


    <ImageView
        android:id="@+id/child_img"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="11dp"
        android:layout_toEndOf="@+id/child_cb"
        app:srcCompat="@mipmap/ic_launcher" />


    <TextView
        android:id="@+id/child_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/child_cb"
        android:layout_marginStart="16dp"
        android:layout_toEndOf="@+id/child_img"
        android:text="TextView" />


    <Button
        android:id="@+id/child_sc"
        android:layout_width="60dp"
        android:layout_height="100dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:text="删除" />


    <TextView
        android:id="@+id/child_jian"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/child_img"
        android:layout_toEndOf="@+id/child_price"
        android:background="#f00"
        android:text="—" />


    <TextView
        android:id="@+id/child_sl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/child_jian"
        android:layout_alignBottom="@+id/child_jian"
        android:layout_toStartOf="@+id/child_jia"
        android:layout_marginRight="30dp"
        android:text="1" />


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


        android:layout_alignBaseline="@+id/child_jian"
        android:layout_alignBottom="@+id/child_jian"
        android:layout_marginEnd="23dp"
        android:layout_toStartOf="@+id/child_sc"
        android:background="#f00"
        android:text="十" />


    <TextView
        android:id="@+id/child_price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/child_jian"
        android:layout_alignBottom="@+id/child_jian"
        android:layout_toEndOf="@+id/child_img"
        android:text="价格" />
</RelativeLayout>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值