car 简单应用

public class MainActivity extends AppCompatActivity implements IView, DView {
    List<GroupBean> groupBeen = new ArrayList<>();
    List<List<ChildBean>> childBeen = new ArrayList<>();
    @BindView(R.id.edit)
    TextView edit;
    @BindView(R.id.exListView)
    ExpandableListView exListView;
    @BindView(R.id.all_chekbox)
    public CheckBox allChekbox;
    @BindView(R.id.total_price)
    TextView totalPrice;
    @BindView(R.id.total_number)
    TextView totalNumber;
    @BindView(R.id.tv_go_to_del)
    TextView tvGoToDel;
    @BindView(R.id.tv_go_to_pay)
    TextView tvGoToPay;
    private ShopCarPersenter persenter;
    private ExpandableAdapter expandableAdapter;
    private DelPersenter delPersenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        persenter = new ShopCarPersenter();
        delPersenter = new DelPersenter();
        delPersenter.attchView(this);
        persenter.attchView(this);
        persenter.getData("1284","");
        expandableAdapter = new ExpandableAdapter(this, groupBeen, childBeen);
        exListView.setAdapter(expandableAdapter);
        for (int i = 0; i < expandableAdapter.getGroupCount(); i++) {

            exListView.expandGroup(i);

        }

        exListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
            @Override
            public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
                return true;
            }
        });

        allChekbox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                boolean checked = allChekbox.isChecked();
                //改变一级item复选框
                for (GroupBean i : groupBeen) {
                    i.setGropuCb(checked);
                }
                //改变二级item复选框
                for (List<ChildBean> i1 : childBeen) {
                    for (int r = 0; r < i1.size(); r++) {
                        i1.get(r).setChildCb(checked);
                    }
                }
                expandableAdapter.notifyDataSetChanged();
                changesum(childBeen);

            }

        });
    }

    @Override
    public void onSuccess(Object o) {

        if (o != null) {
            groupBeen.clear();
            childBeen.clear();
            ShopCarBean shopCarBean = (ShopCarBean) o;
            List<ShopCarBean.DataBean> groupData = shopCarBean.getData();
            for (ShopCarBean.DataBean group : groupData) {
                groupBeen.add(new GroupBean(group.getSellerName(), false));

                List<ChildBean> childOne = new ArrayList<>();

                for (ShopCarBean.DataBean.ListBean child : group.getList()) {
                    String[] split = child.getImages().split("\\|");
                    childOne.add(new ChildBean(child.getTitle(), split[0], child.getPrice(), child.getNum(), false,child.getPid()+""));
                }

                childBeen.add(childOne);
            }
            for (int i = 0; i < expandableAdapter.getGroupCount(); i++) {
                exListView.expandGroup(i);
            }
            expandableAdapter.notifyDataSetChanged();
        }
    }

    @Override
    public void onFailed(String msg) {

    }

    //计算和数量总价
    public void changesum(List<List<ChildBean>> childBeen) {
        int count = 0;
        double sum = 0;
        for (List<ChildBean> i1 : childBeen) {
            for (int r = 0; r < i1.size(); r++) {
                boolean childCb1 = i1.get(r).isChildCb();
                if (childCb1) {
                    double price = i1.get(r).getPrice();
                    int num = i1.get(r).getNum();
                    sum += price * num;
                    count++;
                }
            }
        }
        totalPrice.setText("¥" + sum);
        totalNumber.setText("共有商品:" + count + "件");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (persenter != null) {
            persenter.detachView();
        }
    }


    @OnClick({R.id.edit, R.id.tv_go_to_del})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.edit:
                String trim = edit.getText().toString().trim();
                if (trim.equals("编辑")) {
                    edit.setText("完成");
                    tvGoToDel.setVisibility(View.VISIBLE);
                    tvGoToPay.setVisibility(View.GONE);
                }else{
                    edit.setText("编辑");
                    tvGoToDel.setVisibility(View.GONE);
                    tvGoToPay.setVisibility(View.VISIBLE);
                }
                break;
            case R.id.tv_go_to_del:

                for (int t = 0; t < childBeen.size(); t++) {

                    for (int j = 0; j < childBeen.get(t).size(); j++) {
                        boolean childCb = childBeen.get(t).get(j).isChildCb();
                        if(childCb){
                            delPersenter.getData("1284", childBeen.get(t).get(j).getPid());

                        }
                        try {
                            Thread.sleep(50);
                        } catch (InterruptedException e) {

                        }
                    }


                }
                if(allChekbox.isChecked()){
                    childBeen.clear();
                    groupBeen.clear();
                }
                changesum(childBeen);
                allChekbox.setChecked(false);

                expandableAdapter.notifyDataSetChanged();
                persenter.getData("1284","");

                break;
        }
    }

    @Override
    public void success(DelBean delBean) {
            if(delBean!=null){
                Log.d("yy", "success: "+"删除成功"+delBean.getCode());
            }
    }

    @Override
    public void failed(String msg) {

    }
}

1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值