购物车到订单的主方法

//MainActivityter

public class MainActivity extends AppCompatActivity implements View.OnClickListener,Huiactivity {
    private CartExpanableListview expanableListview;
    private CartPresenter cartPresenter;
    private CheckBox check_all;
    private TextView text_total;
    private TextView text_buy;
    private CartBean cartBean;
    private RelativeLayout relative_progress;
    boolean flag=false;

    private LinearLayout linear_bottom;
    private CountPriceBean countPriceBean;

    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0){//更改价钱和数量的消息
                countPriceBean = (CountPriceBean) msg.obj;

                text_total.setText("合计:¥"+ countPriceBean.getPrice());
                text_buy.setText("去计算("+ countPriceBean.getCount()+")");

            }
        }
    };
    private MyAdapter myAdapter;
    private TextView bianji;
    private LinearLayout linear8;
    private LinearLayout liner1;
    private Button btn3del;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        check_all = (CheckBox) findViewById(R.id.check_all);
        text_total = (TextView) findViewById(R.id.text_total);
        text_buy = (TextView) findViewById(R.id.text_buy);
        expanableListview = (CartExpanableListview) findViewById(R.id.expanable_listview);
        relative_progress = (RelativeLayout) findViewById(R.id.relative_progress);
        linear_bottom = (LinearLayout) findViewById(R.id.linear_layout);
        bianji = (TextView) findViewById(R.id.bianji);
        linear8 = (LinearLayout) findViewById(R.id.linear8);
      //  liner1 = (LinearLayout) findViewById(R.id.linear_layout);
        btn3del = (Button) findViewById(R.id.but3);
        //去掉默认的指示器
        expanableListview.setGroupIndicator(null);

        cartPresenter=new CartPresenter(this);

        //1.点击全选:选中/未选中...调用适配器中的方法...myAdapter.setIsCheckAll(true);来设置所有的一级和二级是否选中,计算
        check_all.setOnClickListener(this);
        text_buy.setOnClickListener(this);
        bianji.setOnClickListener(this);
        btn3del.setOnClickListener(this);

    }

    @Override
    protected void onResume() {
        super.onResume();
        relative_progress.setVisibility(View.VISIBLE);
        //请求数据
        cartPresenter.getCartData(ApiUtil.cartUrl);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.check_all:
                myAdapter.setAllCheck(check_all.isChecked());
                break;

            case R.id.text_buy://去结算...试一下创建订单
                final String price = countPriceBean.getPrice();

                Map<String, String> params = new HashMap<>();
                params.put("uid","2766");
                params.put("price", String.valueOf(price));

                OkHttp3Util.doPost(ApiUtil.createCartUrl, params, new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {

                    }

                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                        if (response.isSuccessful()){
                            final String json = response.body().string();

                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                   // Toast.makeText(MainActivity.this,json,Toast.LENGTH_SHORT).show();
                                    CountPriceBean countPriceBean=new CountPriceBean( price,1);

                                    Intent intent = new Intent(MainActivity.this, Main2Activity.class);

                                    // intent.putExtra("toux",chachebean.getData().get(0).getList().g)
                                    intent.putExtra("order",countPriceBean);

                                    startActivity(intent);
                                }
                            });
                        }
                    }
                });
                break;

            case R.id.bianji:
                if (flag){
                    bianji.setText("编辑");

                    flag=false;
                    linear8.setVisibility(View.VISIBLE);
                    linear_bottom.setVisibility(View.INVISIBLE);

                } else {
                    bianji.setText("完成");
                    flag=true;
                    linear8.setVisibility(View.INVISIBLE);
                    linear_bottom.setVisibility(View.VISIBLE);
                }
                break;

            case R.id.but3:
                for (int i= 0;i<cartBean.getData().size();i++){
                    if (cartBean.getData().get(i).isGroupChecked()==true){
                        for (int j=0;j<cartBean.getData().get(i).getList().size();j++){
                            if (cartBean.getData().get(i).getList().get(j).getSelected() == 1) {
                                Log.d("ggg",cartBean.getData().get(i).getList().get(j).getPid()+"");
                                OkHttp3Util.doGet("https://www.zhaoapi.cn/product/deleteCart?uid=2766&pid=" + cartBean.getData().get(i).getList().get(j).getPid(), 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();
                                            Log.d("cccc", string);
                                            CommonUtils.runOnUIThread(new Runnable() {
                                                @Override
                                                public void run() {
                                                    Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
                                                    cartPresenter.getCartData(ApiUtil.cartUrl);
                                                }
                                            });
                                        }
                                    }
                                });
                            }
                        }
                    }
                }
                break;
        }
    }

    @Override
    public void getSuccessCartJson(CartBean cartBean) {
        relative_progress.setVisibility(View.GONE);
        this.cartBean = cartBean;
        if (cartBean != null){
            //显示下面的
            //linear_bottom.setVisibility(View.VISIBLE);

            //初始化数据....根据子条目是否全部选中决定 是否选中组和全选
            for (int i= 0;i<cartBean.getData().size();i++){

                if (isAllChildInGroupSelected(i)){
                    cartBean.getData().get(i).setGroupChecked(true);
                }
            }

            //初始化是否全选的数据
            changeAllState(isAllGroupChecked());
            //设置适配器
            myAdapter = new MyAdapter(MainActivity.this, cartBean,handler,relative_progress,cartPresenter);
            expanableListview.setAdapter(myAdapter);

            //展开
            for (int i= 0;i<cartBean.getData().size();i++){
                expanableListview.expandGroup(i);
            }

            //初始化价格
            myAdapter.sendPriceAndCount();
        }else {
            //隐藏下面的全选....            // linear_bottom.setVisibility(View.GONE);
            //显示去逛逛,,,添加购物车
            Toast.makeText(MainActivity.this,"购物车为空,去逛逛",Toast.LENGTH_SHORT).show();
        }
    }
    /**
     * 全选是否选中
     * @param allGroupChecked
     */
    private void changeAllState(boolean allGroupChecked) {
        check_all.setChecked(allGroupChecked);
    }

    /**
     * 是否所有的组选中
     * @return
     */
    private boolean isAllGroupChecked() {
        for (int i =0;i<cartBean.getData().size();i++){
            if (! cartBean.getData().get(i).isGroupChecked()){//代表一级列表有没选中的
                return false;
            }
        }
        return true;
    }

    /**
     * 一个组中所有的子条目是否选中
     * @param groupPosition
     * @return
     */
    private boolean isAllChildInGroupSelected(int groupPosition) {
        for (int i= 0;i<cartBean.getData().get(groupPosition).getList().size();i++){
            //只要有一个没选中就返回false
            if (cartBean.getData().get(groupPosition).getList().get(i).getSelected() ==0){
                return false;
            }
        }
        return true;
    }

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


//Main2Activity

public class Main2Activity extends AppCompatActivity {
    private TextView text_order;
    private TextView text_kuan;
    private ImageView tu;

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

        Intent intent = getIntent();

        final CountPriceBean countPriceBean = (CountPriceBean) intent.getSerializableExtra("order");

        text_kuan = (TextView) findViewById(R.id.text_kuan);
        text_order = (TextView) findViewById(R.id.text_order);
        tu = (ImageView) findViewById(R.id.maidongxidetupian);

        text_kuan.setText("实付款: ¥"+countPriceBean.getPrice());

        text_order.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                OkHttp3Util.doGet("https://www.zhaoapi.cn/product/createOrder?uid=2766&price=" + countPriceBean.getPrice(), new Callback() {

                    @Override
                    public void onFailure(Call call, IOException e) {

                    }

                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                        final String string = response.body().string();

                        CommonUtils.runOnUIThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(Main2Activity.this, string,Toast.LENGTH_SHORT).show();
                                Intent intent = new Intent(Main2Activity.this, Main3Activity.class);

                                // intent.putExtra("toux",chachebean.getData().get(0).getList().g)
                              //  intent.putExtra("order",countPriceBean);
                                startActivity(intent);
                            }
                        });
                    }
                });
            }
        });
    }

    public void huiqu2(View view) {
        AlertDialog.Builder ab=new AlertDialog.Builder(Main2Activity.this);
        ab.setTitle("你在三思三思~~~~");

        ab.setPositiveButton("去意已决", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                finish();
            }
        });
        ab.setNegativeButton("再看看",null);
        ab.show();
    }

   public void dingdanzhongxin(View view) {
       Intent intent = new Intent(Main2Activity.this, Main3Activity.class);
        startActivity(intent);
    }
}


//Main3Activity

public class Main3Activity extends AppCompatActivity {
    private TabLayout tabLayout;
    private ViewPager viewPager;
    private List<String> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        tabLayout = (TabLayout) findViewById(R.id.tab2);
        viewPager = (ViewPager) findViewById(R.id.view_pager2);

        tabLayout.setTabMode(TabLayout.MODE_FIXED);
        tabLayout.setTabGravity(GRAVITY_FILL);

        list = new ArrayList<>();

        list.add("全部");
        list.add("待付款");
        list.add("待收货");
        list.add("已完成");
        list.add("已取消");

        viewPager.setOffscreenPageLimit(list.size());
        //1.viewPager设置适配器
        /**
         * 管理者对象有几种????
         * getSupportFragmentManager()...activity管理他身上的fragment的时候使用
         * getChildFragmentManager()...fragment嵌套的时候,,,管理孩子需要使用这个管理者
         * getFragmentManager()....孩子里面还有fragment的话就使用这个
         */
        viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            //2.重写这个方法getPageTitle,,,得到当前页面的标题
            @Override
            public CharSequence getPageTitle(int position) {
                return list.get(position);
            }

            @Override
            public Fragment getItem(int position) {
              NewsFragment1 newsFragment = new NewsFragment1();
                //应该要做的是传值,,,,fragment里面获取,,,获取到值之后,,,在进行url路径的拼接

                Bundle bundle = new Bundle();
                bundle.putString("name",list.get(position));
                newsFragment.setArguments(bundle);
                return newsFragment;
            }

            @Override
            public int getCount() {
                return list.size();
            }
        });

        //3.tabLayoutviewPager关联起来
        tabLayout.setupWithViewPager(viewPager);
    }
}


//Main4Activity

public class Main4Activity extends AppCompatActivity {
    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);
        imageView= (ImageView) findViewById(R.id.shuxing);

        ObjectAnimator y = ObjectAnimator.ofFloat(imageView, "y", 40, 200, 250, 500, 800);

        ObjectAnimator scaleX = ObjectAnimator.ofFloat(imageView, "scaleX", 2, 1);
        ObjectAnimator scaleY = ObjectAnimator.ofFloat(imageView, "scaleY",2, 1);

        ObjectAnimator alpha = ObjectAnimator.ofFloat(imageView, "alpha", 0, 1.0f);

        ObjectAnimator rotationX = ObjectAnimator.ofFloat(imageView, "rotationX", 0, 360);
        ObjectAnimator rotationY = ObjectAnimator.ofFloat(imageView, "rotationY", 0, 360);

        AnimatorSet animatorSet = new AnimatorSet();

        animatorSet.setDuration(3000);

        animatorSet.play(y).with(scaleX).with(scaleY).with(alpha).with(rotationX).with(rotationY);
        animatorSet.start();
        animatorSet.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animator) {

            }

            @Override
            public void onAnimationEnd(Animator animator) {
                Intent intent=new Intent(Main4Activity.this,Main5Activity.class);
                startActivity(intent);
                finish();
            }

            @Override
            public void onAnimationCancel(Animator animator) {

            }

            @Override
            public void onAnimationRepeat(Animator animator) {

            }
        });
    }
}


//Main5Activity

public class Main5Activity extends AppCompatActivity {
    private TextView tile;
    private TextView price;
    private TextView bran;
    private ImageView shangpin;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main5);
        tile = (TextView) findViewById(R.id.title2);
        price = (TextView) findViewById(R.id.price2);
        bran = (TextView) findViewById(R.id.branprice2);
        shangpin = (ImageView) findViewById(R.id.shangpin);

       OkHttp3Util.doGet("https://www.zhaoapi.cn/product/getProductDetail?pid=2", new Callback() {
           @Override
           public void onFailure(Call call, IOException e) {

           }

           @Override
           public void onResponse(Call call, Response response) throws IOException {
               if (response.isSuccessful()){
                   final String string = response.body().string();
                   Log.d("qqqq",string);
                   CommonUtils.runOnUIThread(new Runnable() {
                       @Override
                       public void run() {
                           Gson gson=new Gson();
                           GoodsBean goodsBean = gson.fromJson(string, GoodsBean.class);
                           GoodsBean.DataBean list = goodsBean.getData();

                           tile.setText(list.getTitle());
                           bran.setText("打折后¥:"+list.getBargainPrice());
                           price.setText("原价:¥"+list.getPrice());
                          price.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
                           String[] split = list.getImages().split("\\|");
                           Log.d("sss",split[0]);

                           Glide.with(Main5Activity.this).load(split[0]).into(shangpin);
                       }
                   });
               }
           }
       });
    }

    public void gouwuche(View view) {
        Intent intent=new Intent(Main5Activity.this,MainActivity.class);
        startActivity(intent);
    }

    public void jiaru(View view) {
        OkHttp3Util.doGet("https://www.zhaoapi.cn/product/addCart?uid=2766&pid=2&source=android", new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if (response.isSuccessful()){
                    CommonUtils.runOnUIThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(Main5Activity.this,"加购成功",Toast.LENGTH_SHORT).show();
                            Intent intent=new Intent(Main5Activity.this,MainActivity.class);
                            startActivity(intent);
                        }
                    });
                }
            }
        });
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值