购物车Activity

public class MainActivity extends AppCompatActivity implements DataView ,MyAdapter.NumInterface {

    String dataUrl ="https://www.zhaoapi.cn/product/getProducts?pscid=1";
    List<ShopingBean.DataBean> list;
    MyAdapter adapter;

    int totalPrice =0;   //总价
    int totalNum = 0;    //总个数

    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
           list = (List<ShopingBean.DataBean>) msg.obj;

            adapter = new MyAdapter(MainActivity.this,list);
            lv.setAdapter(adapter);
            adapter.setShoping(MainActivity.this);
        }
    };
    private ListView lv;
    private TextView tv_totalPrice;
    private CheckBox cb_all;

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

        cb_all = findViewById(R.id.cb);
        lv = findViewById(R.id.lv);

        //设置总价钱
        tv_totalPrice = findViewById(R.id.tv_totalPrice);
        //lv.setAdapter();
        MyDataPresenter presenter = new MyDataPresenter(this);
        presenter.netWork(dataUrl);


        //全选的一个操作
        cb_all.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (cb_all.isChecked()){   //如果为true,让其全部选中
                    for (int x=0;x<list.size();x++){
                        list.get(x).setCheck(true);
                    }
                    adapter.notifyDataSetChanged();
                }else{//如果不false,让其全部不选中
                    for (int x=0;x<list.size();x++){
                        list.get(x).setCheck(false);
                    }
                    adapter.notifyDataSetChanged();
                }
                //总价变
                changePrice();
            }
        });
    }


//子线程里面
    @Override
    public void toBackHome(List<ShopingBean.DataBean> list) {
        Message msg = new Message();
        msg.obj= list;
        handler.sendMessage(msg);
    }

    ///
    @Override
    public void jiaNum(int position, TextView tv, Boolean isCheck) {
        //得到数量
        int currentNum = list.get(position).getSellerid();
        //数量进行加加
        currentNum++;
        //把数量设置到bean里面去
        list.get(position).setSellerid(currentNum);
        //刷新数据
        adapter.notifyDataSetChanged();
        //变总价
        changePrice();
    }


    /**
     * 改变总价
     */
    private void changePrice() {
        totalPrice =0;
        totalNum = 0;
        for (int x=0;x<list.size();x++){
            ShopingBean.DataBean dataBean = list.get(x);
            if (dataBean.getCheck()){
                //总价进行加加,个数进行加加
                totalNum++;
                totalPrice+=list.get(x).getPrice()*list.get(x).getSellerid();
            }
        }

        //设置总价
        tv_totalPrice.setText(totalPrice+"");
    }

    @Override
    public void jianNum(int position,TextView tv,Boolean isCheck) {
        //得到数量
        int currentNum = list.get(position).getSellerid();
        //减到1 就不让其减
        if (currentNum==1){
            return;
        }
        //数量进行加加
        currentNum--;
        //把数量设置到bean里面去
        list.get(position).setSellerid(currentNum);
        //刷新数据
        adapter.notifyDataSetChanged();
        //变总价
        changePrice();
    }


    /**
     * checkBox的选中
     */
    @Override
    public void groupCheck(int position,boolean isCheck) {
        ShopingBean.DataBean dataBean = list.get(position);
        //设置checkBox的状态
        dataBean.setCheck(isCheck);
        changePrice();
    }
}

猜你喜欢

转载自blog.csdn.net/owen_bland/article/details/80102476