RecyclerView 购物车 二级列表

来源:互联网 发布:淘宝卖家设置评论有礼 编辑:程序博客网 时间:2024/06/05 08:44

效果图

效果图

先导入依赖

compile 'com.squareup.okhttp3:okhttp:3.9.0'compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'compile 'com.google.code.gson:gson:2.8.2'compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'compile 'org.greenrobot:eventbus:3.1.1'

加入网络权限

用MVP模式进行分包
adapter、bean、eventbusevent、model、net、presenter、view这些包,主页面MainActivity放在view里面。

adapter

package com.bwie.shop1.adapter;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseExpandableListAdapter;import android.widget.CheckBox;import android.widget.ImageView;import android.widget.TextView;import com.bwie.shop1.R;import com.bwie.shop1.bean.GoosBean;import com.bwie.shop1.eventbusevent.MessageEvent;import com.bwie.shop1.eventbusevent.PriceAndCountEvent;import org.greenrobot.eventbus.EventBus;import java.util.List;public class MyAdapter extends BaseExpandableListAdapter {    private Context context;    private List<GoosBean.DataBean> groupList;    private List<List<GoosBean.DataBean.DatasBean>> childList;    private final LayoutInflater inflater;    public MyAdapter(Context context, List<GoosBean.DataBean> groupList, List<List<GoosBean.DataBean.DatasBean>> childList) {        this.context = context;        this.groupList = groupList;        this.childList = childList;        inflater = LayoutInflater.from(context);    }    @Override    public int getGroupCount() {        return groupList.size();    }    @Override    public int getChildrenCount(int groupPosition) {        return childList.get(groupPosition).size();    }    @Override    public Object getGroup(int groupPosition) {        return groupList.get(groupPosition);    }    @Override    public Object getChild(int groupPosition, int childPosition) {        return childList.get(groupPosition).get(childPosition);    }    @Override    public long getGroupId(int groupPosition) {        return groupPosition;    }    @Override    public long getChildId(int groupPosition, int childPosition) {        return childPosition;    }    @Override    public boolean hasStableIds() {        return false;    }    @Override    public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {        View view;        final GroupViewHolder holder;        if (convertView == null) {            holder = new GroupViewHolder();            view = inflater.inflate(R.layout.item_parent_market, null);            holder.cbGroup = view.findViewById(R.id.cb_parent);            holder.tv_number = view.findViewById(R.id.tv_number);            view.setTag(holder);        } else {            view = convertView;            holder = (GroupViewHolder) view.getTag();        }        final GoosBean.DataBean dataBean = groupList.get(groupPosition);        holder.cbGroup.setChecked(dataBean.isChecked());        holder.tv_number.setText(dataBean.getTitle());        //一级checkbox        holder.cbGroup.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                dataBean.setChecked(holder.cbGroup.isChecked());                changeChildCbState(groupPosition, holder.cbGroup.isChecked());                EventBus.getDefault().post(compute());                changeAllCbState(isAllGroupCbSelected());                notifyDataSetChanged();            }        });        return view;    }    @Override    public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {        View view;        final ChildViewHolder holder;        if (convertView == null) {            holder = new ChildViewHolder();            view = inflater.inflate(R.layout.item_child_market, null);            holder.cbChild = view.findViewById(R.id.cb_child);            holder.tv_tel = view.findViewById(R.id.tv_tel);            holder.tv_content = view.findViewById(R.id.tv_content);            holder.tv_time = view.findViewById(R.id.tv_time);            holder.tv_price = view.findViewById(R.id.tv_pri);            holder.tv_del = view.findViewById(R.id.tv_del);            holder.iv_add = view.findViewById(R.id.iv_add);            holder.iv_del = view.findViewById(R.id.iv_del);            holder.tv_num = view.findViewById(R.id.tv_num);            view.setTag(holder);        } else {            view = convertView;            holder = (ChildViewHolder) view.getTag();        }        final GoosBean.DataBean.DatasBean datasBean = childList.get(groupPosition).get(childPosition);        holder.cbChild.setChecked(datasBean.isChecked());        holder.tv_tel.setText(datasBean.getType_name());        holder.tv_content.setText(datasBean.getMsg());        holder.tv_time.setText(datasBean.getAdd_time());        holder.tv_price.setText(datasBean.getPrice() + "");        holder.tv_num.setText(datasBean.getNum() + "");        //二级checkbox        holder.cbChild.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //设置该条目对象里的checked属性值                datasBean.setChecked(holder.cbChild.isChecked());                PriceAndCountEvent priceAndCountEvent = compute();                EventBus.getDefault().post(priceAndCountEvent);                if (holder.cbChild.isChecked()) {                    //当前checkbox是选中状态                    if (isAllChildCbSelected(groupPosition)) {                        changGroupCbState(groupPosition, true);                        changeAllCbState(isAllGroupCbSelected());                    }                } else {                    changGroupCbState(groupPosition, false);                    changeAllCbState(isAllGroupCbSelected());                }                notifyDataSetChanged();            }        });        //加号        holder.iv_add.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                int num = datasBean.getNum();                holder.tv_num.setText(++num + "");                datasBean.setNum(num);                if (holder.cbChild.isChecked()) {                    PriceAndCountEvent priceAndCountEvent = compute();                    EventBus.getDefault().post(priceAndCountEvent);                }            }        });        //减号        holder.iv_del.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                int num = datasBean.getNum();                if (num == 1) {                    return;                }                holder.tv_num.setText(--num + "");                datasBean.setNum(num);                if (holder.cbChild.isChecked()) {                    PriceAndCountEvent priceAndCountEvent = compute();                    EventBus.getDefault().post(priceAndCountEvent);                }            }        });        //删除        holder.tv_del.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                List<GoosBean.DataBean.DatasBean> datasBeen = childList.get(groupPosition);                GoosBean.DataBean.DatasBean remove = datasBeen.remove(childPosition);                if (datasBeen.size() == 0) {                    childList.remove(groupPosition);                    groupList.remove(groupPosition);                }                EventBus.getDefault().post(compute());                notifyDataSetChanged();            }        });        return view;    }    @Override    public boolean isChildSelectable(int groupPosition, int childPosition) {        return true;    }    class GroupViewHolder {        CheckBox cbGroup;        TextView tv_number;    }    class ChildViewHolder {        CheckBox cbChild;        TextView tv_tel;        TextView tv_content;        TextView tv_time;        TextView tv_price;        TextView tv_del;        ImageView iv_del;        ImageView iv_add;        TextView tv_num;    }    /**     * 改变全选的状态     *     * @param flag     */    private void changeAllCbState(boolean flag) {        MessageEvent messageEvent = new MessageEvent();        messageEvent.setChecked(flag);        EventBus.getDefault().post(messageEvent);    }    /**     * 改变一级列表checkbox状态     *     * @param groupPosition     */    private void changGroupCbState(int groupPosition, boolean flag) {        GoosBean.DataBean dataBean = groupList.get(groupPosition);        dataBean.setChecked(flag);    }    /**     * 改变二级列表checkbox状态     *     * @param groupPosition     * @param flag     */    private void changeChildCbState(int groupPosition, boolean flag) {        List<GoosBean.DataBean.DatasBean> datasBeen = childList.get(groupPosition);        for (int i = 0; i < datasBeen.size(); i++) {            GoosBean.DataBean.DatasBean datasBean = datasBeen.get(i);            datasBean.setChecked(flag);        }    }    /**     * 判断一级列表是否全部选中     *     * @return     */    private boolean isAllGroupCbSelected() {        for (int i = 0; i < groupList.size(); i++) {            GoosBean.DataBean dataBean = groupList.get(i);            if (!dataBean.isChecked()) {                return false;            }        }        return true;    }    /**     * 判断二级列表是否全部选中     *     * @param groupPosition     * @return     */    private boolean isAllChildCbSelected(int groupPosition) {        List<GoosBean.DataBean.DatasBean> datasBeen = childList.get(groupPosition);        for (int i = 0; i < datasBeen.size(); i++) {            GoosBean.DataBean.DatasBean datasBean = datasBeen.get(i);            if (!datasBean.isChecked()) {                return false;            }        }        return true;    }    /**     * 计算列表中,选中的钱和数量     */    private PriceAndCountEvent compute() {        int count = 0;        int price = 0;        for (int i = 0; i < childList.size(); i++) {            List<GoosBean.DataBean.DatasBean> datasBeen = childList.get(i);            for (int j = 0; j < datasBeen.size(); j++) {                GoosBean.DataBean.DatasBean datasBean = datasBeen.get(j);                if (datasBean.isChecked()) {                    price += datasBean.getNum() * datasBean.getPrice();                    count += datasBean.getNum();                }            }        }        PriceAndCountEvent priceAndCountEvent = new PriceAndCountEvent();        priceAndCountEvent.setCount(count);        priceAndCountEvent.setPrice(price);        return priceAndCountEvent;    }    /**     * 设置全选、反选     *     * @param flag     */    public void changeAllListCbState(boolean flag) {        for (int i = 0; i < groupList.size(); i++) {            changGroupCbState(i, flag);            changeChildCbState(i, flag);        }        EventBus.getDefault().post(compute());        notifyDataSetChanged();    }}

bean

package com.bwie.shop1.bean;import java.util.List;/** * Created by Administrator on 2017/12/18. */public class GoosBean {    /**     * code : 200     * data : [{"datas":[{"add_time":"2016-12-10 14:54:58","cart_id":"445162","house_id":"1","msg":"购买渠道:大陆国行","price":500,"type_name":"苹果 iPhone 6(白金色)","type_sn_id":"ggh"},{"add_time":"2016-12-10 14:55:18","cart_id":"445163","house_id":"1","msg":"购买渠道:水货无锁","price":1000,"type_name":"苹果 iPhone 7 (亮黑色)","type_sn_id":"tgg"}],"title":"苹果","title_id":"59280"},{"datas":[{"add_time":"2016-12-10 14:54:58","cart_id":"445162","house_id":"1","msg":"边框背板:全新未使用","price":50,"type_name":"小米4s (白金色)","type_sn_id":"ggh"},{"add_time":"2016-12-10 14:55:18","cart_id":"445163","house_id":"1","msg":"屏幕性能:色差/亮点/轻微发黄","price":100,"type_name":"小米5s (亮黑色)","type_sn_id":"tgg"}],"title":"小米","title_id":"59279"},{"datas":[{"add_time":"2016-12-10 14:54:58","cart_id":"445162","house_id":"1","msg":"边框背板:全新未使用","price":50,"type_name":"三星 (白金色)","type_sn_id":"ggh"},{"add_time":"2016-12-10 14:55:18","cart_id":"445163","house_id":"1","msg":"屏幕性能:色差/亮点/轻微发黄","price":100,"type_name":"三星 (亮黑色)","type_sn_id":"tgg"}],"title":"三星","title_id":"59279"},{"datas":[{"add_time":"2016-12-10 14:54:58","cart_id":"445162","house_id":"1","msg":"边框背板:全新未使用","price":50,"type_name":"华为 (白金色)","type_sn_id":"ggh"},{"add_time":"2016-12-10 14:55:18","cart_id":"445163","house_id":"1","msg":"屏幕性能:色差/亮点/轻微发黄","price":100,"type_name":"华为 (亮黑色)","type_sn_id":"tgg"},{"add_time":"2016-12-10 4:55:28","cart_id":"445164","house_id":"1","msg":"屏幕性能:色差/亮点/轻微发黄","price":150,"type_name":"华为 (纯黑色)","type_sn_id":"hgg"}],"title":"华为","title_id":"59279"}]     * flag : Success     * msg : 描述     */    private String code;    private String flag;    private String msg;    private List<DataBean> data;    public String getCode() {        return code;    }    public void setCode(String code) {        this.code = code;    }    public String getFlag() {        return flag;    }    public void setFlag(String flag) {        this.flag = flag;    }    public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    }    public List<DataBean> getData() {        return data;    }    public void setData(List<DataBean> data) {        this.data = data;    }    public static class DataBean {        /**         * datas : [{"add_time":"2016-12-10 14:54:58","cart_id":"445162","house_id":"1","msg":"购买渠道:大陆国行","price":500,"type_name":"苹果 iPhone 6(白金色)","type_sn_id":"ggh"},{"add_time":"2016-12-10 14:55:18","cart_id":"445163","house_id":"1","msg":"购买渠道:水货无锁","price":1000,"type_name":"苹果 iPhone 7 (亮黑色)","type_sn_id":"tgg"}]         * title : 苹果         * title_id : 59280         */        private boolean checked;        private String title;        private String title_id;        private List<DatasBean> datas;        public boolean isChecked() {            return checked;        }        public void setChecked(boolean checked) {            this.checked = checked;        }        public String getTitle() {            return title;        }        public void setTitle(String title) {            this.title = title;        }        public String getTitle_id() {            return title_id;        }        public void setTitle_id(String title_id) {            this.title_id = title_id;        }        public List<DatasBean> getDatas() {            return datas;        }        public void setDatas(List<DatasBean> datas) {            this.datas = datas;        }        public static class DatasBean {            /**             * add_time : 2016-12-10 14:54:58             * cart_id : 445162             * house_id : 1             * msg : 购买渠道:大陆国行             * price : 500             * type_name : 苹果 iPhone 6(白金色)             * type_sn_id : ggh             */            private boolean checked;            private int num = 1;            private String add_time;            private String cart_id;            private String house_id;            private String msg;            private int price;            private String type_name;            private String type_sn_id;            public int getNum() {                return num;            }            public void setNum(int num) {                this.num = num;            }            public boolean isChecked() {                return checked;            }            public void setChecked(boolean checked) {                this.checked = checked;            }            public String getAdd_time() {                return add_time;            }            public void setAdd_time(String add_time) {                this.add_time = add_time;            }            public String getCart_id() {                return cart_id;            }            public void setCart_id(String cart_id) {                this.cart_id = cart_id;            }            public String getHouse_id() {                return house_id;            }            public void setHouse_id(String house_id) {                this.house_id = house_id;            }            public String getMsg() {                return msg;            }            public void setMsg(String msg) {                this.msg = msg;            }            public int getPrice() {                return price;            }            public void setPrice(int price) {                this.price = price;            }            public String getType_name() {                return type_name;            }            public void setType_name(String type_name) {                this.type_name = type_name;            }            public String getType_sn_id() {                return type_sn_id;            }            public void setType_sn_id(String type_sn_id) {                this.type_sn_id = type_sn_id;            }        }    }}

eventbusevent

eventbusevent包里面创建二两个类,一个是MessageEvent、PriceAndCountEvent

package com.bwie.shop1.eventbusevent;public class MessageEvent {    private boolean checked;    public boolean isChecked() {        return checked;    }    public void setChecked(boolean checked) {        this.checked = checked;    }}
package com.bwie.shop1.eventbusevent;/** * Created by Administrator on 2017/12/18. */public class PriceAndCountEvent {    private int price;    private int count;    public int getPrice() {        return price;    }    public void setPrice(int price) {        this.price = price;    }    public int getCount() {        return count;    }    public void setCount(int count) {        this.count = count;    }}

model

model包创建二两个类,一个是IMainModel接口,MainModel继承接口

package com.bwie.shop1.model;import com.bwie.shop1.bean.GoosBean;import com.bwie.shop1.net.OnNetListener;public interface IMainModel {    public void getGoods(OnNetListener<GoosBean> onNetListener);}
package com.bwie.shop1.model;import android.os.Handler;import android.os.Looper;import com.bwie.shop1.bean.GoosBean;import com.bwie.shop1.net.Api;import com.bwie.shop1.net.HttpUtils;import com.bwie.shop1.net.OnNetListener;import com.google.gson.Gson;import java.io.IOException;import okhttp3.Call;import okhttp3.Callback;import okhttp3.Response;public class MainModel implements IMainModel {    private Handler handler = new Handler(Looper.getMainLooper());    public void getGoods(final OnNetListener<GoosBean> onNetListener) {        HttpUtils.getHttpUtils().doGet(Api.url, new Callback() {            @Override            public void onFailure(Call call, IOException e) {            }            @Override            public void onResponse(Call call, Response response) throws IOException {                String string = response.body().string();                final GoosBean goosBean = new Gson().fromJson(string, GoosBean.class);                handler.post(new Runnable() {                    @Override                    public void run() {                        onNetListener.onSuccess(goosBean);                    }                });            }        });    }}

net

net包里面创建三个类,第一个类 Api 接口是 获取网络数据的,第二类 HttpUtils 是请求,第三个类OnNetListener接口。

package com.bwie.shop1.net;/** * Created by Administrator on 2017/12/18. * 获取网络数据 */public interface Api {    //网上获取数据    public static final String url = "http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=evaluation";}
package com.bwie.shop1.net;import okhttp3.Callback;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.logging.HttpLoggingInterceptor;/** * Created by Administrator on 2017/12/18. * 请求数据 */public class HttpUtils {    private static volatile HttpUtils httpUtils;    private final OkHttpClient client;    private HttpUtils() {        HttpLoggingInterceptor logging = new HttpLoggingInterceptor();        logging.setLevel(HttpLoggingInterceptor.Level.BODY);        client = new OkHttpClient.Builder()                .addInterceptor(logging)                .build();    }    public static HttpUtils getHttpUtils() {        if (httpUtils == null) {            synchronized (HttpUtils.class) {                if (httpUtils == null) {                    httpUtils = new HttpUtils();                }            }        }        return httpUtils;    }    /**     * GET请求     *     * @param url     * @param callback     */    public void doGet(String url, Callback callback) {        Request request = new Request.Builder().url(url).build();        client.newCall(request).enqueue(callback);    }}
package com.bwie.shop1.net;/** * Created by Administrator on 2017/12/18. */public interface OnNetListener<T> {    public void onSuccess(T t);    public void onFailure(Exception e);}

presenter

package com.bwie.shop1.presenter;import com.bwie.shop1.bean.GoosBean;import com.bwie.shop1.model.IMainModel;import com.bwie.shop1.model.MainModel;import com.bwie.shop1.net.OnNetListener;import com.bwie.shop1.view.IMainActivity;import com.bwie.shop1.view.MainActivity;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2017/12/18. */public class MainPresenter {    private final IMainModel imainModel;    private final IMainActivity iMainActivity;    public MainPresenter(MainActivity iMainActivity) {        this.iMainActivity = iMainActivity;        imainModel = new MainModel();    }    public void getGoods() {        imainModel.getGoods(new OnNetListener<GoosBean>() {            @Override            public void onSuccess(GoosBean goosBean) {                //List<GoosBean.DataBean> groupList, List<List<GoosBean.DataBean.DatasBean>> childList                List<GoosBean.DataBean> dataBean = goosBean.getData();                List<List<GoosBean.DataBean.DatasBean>> childList = new ArrayList<List<GoosBean.DataBean.DatasBean>>();                for (int i = 0; i < dataBean.size(); i++) {                    List<GoosBean.DataBean.DatasBean> datas = dataBean.get(i).getDatas();                    childList.add(datas);                }                iMainActivity.showList(dataBean, childList);            }            @Override            public void onFailure(Exception e) {            }        });    }}

view

package com.bwie.shop1.view;import com.bwie.shop1.bean.GoosBean;import java.util.List;public interface IMainActivity {    //view接口进行调用    public void showList    (List<GoosBean.DataBean>             groupList, List<List<GoosBean.DataBean.DatasBean>> childList);}

主界面

package com.bwie.shop1.view;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.CheckBox;import android.widget.ExpandableListView;import android.widget.TextView;import com.bwie.shop1.R;import com.bwie.shop1.adapter.MyAdapter;import com.bwie.shop1.bean.GoosBean;import com.bwie.shop1.eventbusevent.MessageEvent;import com.bwie.shop1.eventbusevent.PriceAndCountEvent;import com.bwie.shop1.presenter.MainPresenter;import org.greenrobot.eventbus.EventBus;import org.greenrobot.eventbus.Subscribe;import java.util.List;//主页面,调用IMainActivity的接口public class MainActivity extends AppCompatActivity        implements IMainActivity {    private ExpandableListView mElv;    private CheckBox mCheckbox2;    /**     * 0     */    private TextView mTvPrice;    /**     * 结算(0)     */    private TextView mTvNum;    private MyAdapter adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        EventBus.getDefault().register(this);        //方法        initView();        new MainPresenter(this).getGoods();        mCheckbox2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                adapter.changeAllListCbState(mCheckbox2.isChecked());            }        });    }    @Override    protected void onDestroy() {        super.onDestroy();        EventBus.getDefault().unregister(this);    }    private void initView() {        mElv = (ExpandableListView) findViewById(R.id.elv);        mCheckbox2 = (CheckBox) findViewById(R.id.checkbox2);        mTvPrice = (TextView) findViewById(R.id.tv_price);        mTvNum = (TextView) findViewById(R.id.tv_num);    }    @Override    public void showList(List<GoosBean.DataBean> groupList, List<List<GoosBean.DataBean.DatasBean>> childList) {        adapter = new MyAdapter(this, groupList, childList);        mElv.setAdapter(adapter);        mElv.setGroupIndicator(null);        //默认让其全部展开        for (int i = 0; i < groupList.size(); i++) {            mElv.expandGroup(i);        }    }    @Subscribe    public void onMessageEvent(MessageEvent event) {        mCheckbox2.setChecked(event.isChecked());    }    @Subscribe    public void onMessageEvent(PriceAndCountEvent event) {        mTvNum.setText("结算(" + event.getCount() + ")");        mTvPrice.setText(event.getPrice() + "");    }}

布局

activity_main:

<?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"    android:orientation="vertical">    <TextView        android:layout_width="match_parent"        android:layout_height="40dp"        android:background="#990000ff"        android:gravity="center"        android:text="购物车"        android:textColor="#ff3660"        android:textSize="25sp" />    <ExpandableListView        android:id="@+id/elv"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1" />    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="50dp"        android:layout_alignParentBottom="true"        android:background="@android:color/white"        android:gravity="center_vertical">        <CheckBox            android:id="@+id/checkbox2"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_centerVertical="true"            android:layout_marginLeft="10dp"            android:focusable="false" />        <TextView            android:layout_width="wrap_content"            android:layout_height="50dp"            android:layout_centerVertical="true"            android:layout_marginLeft="10dp"            android:layout_toRightOf="@+id/checkbox2"            android:gravity="center_vertical"            android:text="全选"            android:textSize="20sp" />        <LinearLayout            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentRight="true"            android:orientation="horizontal">            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_marginLeft="10dp"                android:text="合计 :" />            <TextView                android:id="@+id/tv_price"                android:layout_width="wrap_content"                android:layout_height="50dp"                android:layout_marginLeft="10dp"                android:paddingRight="10dp"                android:text="0"                android:textColor="@android:color/holo_red_light" />            <TextView                android:id="@+id/tv_num"                android:layout_width="wrap_content"                android:layout_height="50dp"                android:background="@android:color/holo_red_dark"                android:gravity="center"                android:padding="10dp"                android:text="结算(0)"                android:textColor="@android:color/white" />        </LinearLayout>    </RelativeLayout></RelativeLayout>

item_child_market:

<?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">    <CheckBox        android:id="@+id/cb_child"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="30dp"        android:layout_marginLeft="40dp"        android:layout_marginTop="15dp"        android:focusable="false" />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical">        <TextView            android:id="@+id/tv_tel"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="20dp"            android:text="iphone6" />        <TextView            android:id="@+id/tv_content"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="20dp"            android:text="商品店名" />        <TextView            android:id="@+id/tv_time"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="20dp"            android:text="2016-12-10" />    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_weight="1"        android:orientation="vertical">        <TextView            android:id="@+id/tv_pri"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="¥3000.00" />        <LinearLayout            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:gravity="center_vertical">            <ImageView                android:id="@+id/iv_del"                android:layout_width="20dp"                android:layout_height="20dp"                android:src="@drawable/channel_expandablelistview_bottom_icon" />            <TextView                android:id="@+id/tv_num"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_marginLeft="5dp"                android:background="@drawable/channel_expandablelistview_bg"                android:paddingBottom="2dp"                android:paddingLeft="20dp"                android:paddingRight="20dp"                android:paddingTop="2dp"                android:text="1" />            <ImageView                android:id="@+id/iv_add"                android:layout_width="20dp"                android:layout_height="20dp"                android:layout_marginLeft="5dp"                android:src="@drawable/channel_expandablelistview_top_icon" />        </LinearLayout>    </LinearLayout>    <TextView        android:id="@+id/tv_del"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="删除" /></LinearLayout>

item_parent_market:

<?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">    <CheckBox        android:id="@+id/cb_parent"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="30dp"        android:layout_marginLeft="20dp"        android:layout_marginTop="30dp"        android:focusable="false" />    <TextView        android:id="@+id/tv_sign"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="20dp"        android:text="标记" />    <TextView        android:id="@+id/tv_number"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="20dp"        android:text="12345678" /></LinearLayout>
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 贤者时间很长怎么办 鸡吃了酒米醉了怎么办 自填脂肪乳房脂肪液化怎么办 中国人在外国遇到危险怎么办 dnf刷图卡住了怎么办 dbf深渊怪卡住了怎么办 dnf86级没任务了怎么办 dnf二觉任务没了怎么办 脚趾甲变空向上翘怎么办 汽油车加了一点柴油怎么办 柴油车辆环保检测功率不足怎么办 加95加错一次92怎么办 新车95加错92油怎么办 加不到95号汽油怎么办 去新疆没95号油怎么办 黄龙300加了92怎么办 gla错加92号油 怎么办 95和98混加了怎么办 沥青车可以停在居民区怎么办 汽油进到眼睛了怎么办 汽油进了眼睛里怎么办 眼睛里面进了汽油怎么办 脱硫塔里的二氧化硫高怎么办 恐怖黎明铁匠选错怎么办 堡垒之夜草变色怎么办 火柴没有擦的了怎么办 乙醚倒进下水道了怎么办 乙醚和水不分层怎么办 乙醚闻多了头晕怎么办 爱乐维吃了便秘怎么办 刮完滑石粉墙面很软怎么办 被硫酸泼到皮肤怎么办 头磕了一下头晕怎么办 家里有事与工作不能请怎么办 撞了头头晕想吐怎么办 猫不小心摔一下怎么办 一氧化二氮中毒怎么办 电脑开机变慢了怎么办 怎么办抚顺韦德健身卡 预售健身卡合法吗怎么办 被浓硫酸泼到怎么办