//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.将tabLayout和viewPager关联起来 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); } }); } } }); } }