activity

public class MainActivity extends AppCompatActivity implements View.OnClickListener,IContract.IView {

    private ExpandableListView elcShowMain;
    private CheckBox cbAllCheckMain;
    private TextView btnAllPriceMain;
    private Button btnAllNumberMain;
    private MyAdapter myAdapter;
    private IContract.IPresenter presenter;

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

        presenter = new PresenterImpl();
        presenter.attarchView(this);
        presenter.pRequest();
    }

    private void initView() {
        elcShowMain = (ExpandableListView) findViewById(R.id.elc_show_main);
        cbAllCheckMain = (CheckBox) findViewById(R.id.cb_allCheck_main);
        btnAllPriceMain = (TextView) findViewById(R.id.btn_allPrice_main);
        btnAllNumberMain = (Button) findViewById(R.id.btn_allNumber_main);

        btnAllNumberMain.setOnClickListener(this);
cbAllCheckMain.setOnClickListener(this); 
    }

    private void refreshAllSelectedAndTotalPriceAndTotalNumber() {
        //全选按钮
        boolean allProductsSelected = myAdapter.isAllProductsSelected();
        cbAllCheckMain.setChecked(allProductsSelected);
        //计算总金额
        float totalPrice = myAdapter.calculateTotalPrice();
        btnAllPriceMain.setText("总价:¥" + totalPrice);
        //计算总数量
        int totalNumber = myAdapter.calculateTotalNumber();
        btnAllNumberMain.setText("去结算(" + totalNumber + ")");
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.cb_allCheck_main:
                //点击全选按钮
                boolean allProductsSelected = myAdapter.isAllProductsSelected();
                myAdapter.changeAllProductsSelected(!allProductsSelected);
                myAdapter.notifyDataSetChanged();
                //刷新底部的方法
                refreshAllSelectedAndTotalPriceAndTotalNumber();
                break;
            case R.id.btn_allNumber_main:
                startActivity(new Intent(MainActivity.this,OrderActivity.class));
                break;
        }
    }


    @Override
    public void showData(String json) {
        CartInfo cartInfo = new Gson().fromJson(json, CartInfo.class);
        String code = cartInfo.getCode();
        String msg = cartInfo.getMsg();
        if ("0".equals(code)) {
            List<CartInfo.DataBean> sellerData = cartInfo.getData();
            //设置适配器
            myAdapter = new MyAdapter(sellerData);
            myAdapter.setOnCartListChangeListener(new MyAdapter.OnCartListChangeListener() {
                @Override
                public void SellerSelectedChange(int groupPosition) {
                    //点击商家
                    boolean currentSellerAllProductSelected = myAdapter.isCurrentSellerAllProductSelected(groupPosition);
                    //改变所有单前商家商品的选中状态
                    myAdapter.changeCurrentSellerAllProductSelected(groupPosition, !currentSellerAllProductSelected);
                    myAdapter.notifyDataSetChanged();
                    //刷新底部的方法
                    refreshAllSelectedAndTotalPriceAndTotalNumber();
                }

                @Override
                public void ProductSelectedChange(int groupPosition, int childPosition) {
                    //点击商品
                    myAdapter.changeCurrentProductSelected(groupPosition, childPosition);
                    myAdapter.notifyDataSetChanged();
                    //刷新底部的方法
                    refreshAllSelectedAndTotalPriceAndTotalNumber();
                }

                @Override
                public void ProductNumberChange(int groupPosition, int childPosition, int number) {
                    //点击加减
                    myAdapter.changeCurrentProductNumber(groupPosition, childPosition, number);
                    myAdapter.notifyDataSetChanged();
                    //刷新底部的方法
                    refreshAllSelectedAndTotalPriceAndTotalNumber();
                }
            });
            elcShowMain.setAdapter(myAdapter);

            //展开
            for (int i = 0; i < sellerData.size(); i++) {
                elcShowMain.expandGroup(i);
            }
            refreshAllSelectedAndTotalPriceAndTotalNumber();
        } else {
            Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        presenter.dearchView(this);
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值