结算和创建订单

 

----结算类-------

 

 

package com.example.administrator.gouwuche_20171219.view.activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.example.administrator.gouwuche_20171219.R;
import com.example.administrator.gouwuche_20171219.model.bean.DingDanBean;
import com.example.administrator.gouwuche_20171219.util.ApiUtil;
import com.example.administrator.gouwuche_20171219.util.OkHttp3Util;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class JieSuanActivity extends AppCompatActivity {

    private String price;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_jie_suan);
        TextView jie_price = findViewById(R.id.jie_price);
        TextView xiadan = findViewById(R.id.xiadan);
        Intent intent = getIntent();
        price = intent.getStringExtra("price");
        jie_price.setText("实付款:¥"+ price);

        xiadan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });
        xiadan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Map<String, String> map=new HashMap<>();
                map.put("price",price);
                OkHttp3Util.doPost(ApiUtil.dingdan, map, new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {

                    }

                    @Override
                    public void onResponse(Call call, final Response response) throws IOException {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {

                                if (response.isSuccessful()){
                                    String string = null;
                                    try {
                                        string = response.body().string();
                                        Gson gson = new Gson();
                                        DingDanBean dingDanBean = gson.fromJson(string, DingDanBean.class);
                                        if ("0".equals(dingDanBean.getCode())){
                                            Toast.makeText(JieSuanActivity.this,"创建订单成功",Toast.LENGTH_LONG).show();
                                            Intent intent1 = new Intent(JieSuanActivity.this, DingDanActivity.class);
                                            startActivity(intent1);
                                            finish();
                                        }else {
                                            Toast.makeText(JieSuanActivity.this,"创建订单不成功",Toast.LENGTH_LONG).show();
                                        }
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }


                                }
                            }
                        });
                            }
                        });

            }
        });
    }
}

 

 

---结算类布局----

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.gouwuche_20171219.view.activity.JieSuanActivity">
   <TextView
       android:gravity="center"
       android:text="确定订单"
       android:background="#f506"
       android:textColor="#fff"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp" />
    <TextView
        android:background="#d0d0d0"
        android:layout_weight="8"
        android:layout_width="match_parent"
        android:layout_height="0dp" />
    <LinearLayout
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal">
        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent" />
        <TextView
            android:textColor="#f00"
            android:gravity="center"
            android:id="@+id/jie_price"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent" />
        <TextView
            android:id="@+id/xiadan"
            android:textColor="#fff"
            android:text="立即下单"
            android:background="#f00"
            android:gravity="center"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />

    </LinearLayout>
</LinearLayout>

 

 

 

----结算封装类----

 

package com.example.administrator.gouwuche_20171219.model.bean;

/**
 * Created by Administrator on 2017/12/20.
 */

public class DingDanBean {
    /**
     * msg : 订单创建成功
     * code : 0
     */

    private String msg;
    private String code;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
}

 

 

 

 

 

---状态类-----

 

package com.example.administrator.gouwuche_20171219.view.activity;

import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TableLayout;

import com.example.administrator.gouwuche_20171219.R;
import com.example.administrator.gouwuche_20171219.view.fragment.MyFragment_1;

import java.util.ArrayList;
import java.util.List;

public class DingDanActivity extends AppCompatActivity {


    String[] title={"全部","待支付","已支付","已取消"};
    private TabLayout tabLayout;
    public static String ss="全部";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ding_dan2);
        tabLayout = findViewById(R.id.tabLayout);

        getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout,new MyFragment_1()).commit();
    }

    @Override
    protected void onResume() {
        super.onResume();
        for (int i = 0; i < title.length; i++) {
            //添加tab
            tabLayout.addTab(tabLayout.newTab().setText(title[i]));
        }
        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                if(tab.getText().equals(title[0])){
                    ss=title[0];
                }else if(tab.getText().equals(title[1])){
                    ss=title[1];
                }else if(tab.getText().equals(title[2])){
                    ss=title[2];
                }else if(tab.getText().equals(title[3])){
                    ss=title[3];
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout,new MyFragment_1()).commit();
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
    }
}

-----状态类布局-----

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.gouwuche_20171219.view.activity.DingDanActivity">
<TextView
    android:gravity="center"
    android:text="订单列表"
    android:layout_width="match_parent"
    android:layout_height="50dp" />
   <android.support.design.widget.TabLayout
       app:tabGravity="fill"
       app:tabIndicatorColor="@color/colorAccent"
       app:tabMode="fixed"
       app:tabSelectedTextColor="@color/colorPrimaryDark"
       app:tabTextColor="@color/colorPrimary"
       android:id="@+id/tabLayout"
       android:layout_width="match_parent"
       android:layout_height="50dp"></android.support.design.widget.TabLayout>

    <FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </FrameLayout>



</LinearLayout>

 

 

-----Fragment类----

 

package com.example.administrator.gouwuche_20171219.view.fragment;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

import com.example.administrator.gouwuche_20171219.R;
import com.example.administrator.gouwuche_20171219.model.bean.ZhuangTai_bean;
import com.example.administrator.gouwuche_20171219.util.ApiUtil;
import com.example.administrator.gouwuche_20171219.util.OkHttp3Util;
import com.example.administrator.gouwuche_20171219.view.activity.DingDanActivity;
import com.example.administrator.gouwuche_20171219.view.adapter.MyDingDanAdapter;
import com.example.administrator.gouwuche_20171219.view.zidingyi_shitu.MyListView;
import com.example.administrator.gouwuche_20171219.view.zidingyi_shitu.MyScrollView;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

/**
 * Created by Administrator on 2017/12/20.
 */

public class MyFragment_1 extends Fragment {

    private MyScrollView dingdanMyScrollView;
    private MyListView dingdanMyListView;
    ArrayList<ZhuangTai_bean.DataBean> list = new ArrayList<>();
    private MyDingDanAdapter myDingDanAdapter;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.myfragment_layout, container, false);
        dingdanMyScrollView = view.findViewById(R.id.dingdanMyScrollView);
        dingdanMyListView = view.findViewById(R.id.dingdanMyListView);
        return view;
    }

    @Override
    public void onResume() {
        super.onResume();
        dingdanMyScrollView.setScrollViewListener(new MyScrollView.ScrollViewListener() {
            @Override
            public void onScrollChanged(MyScrollView myScrollView, int x, int y, int oldx, int oldy) {
            }
        });
        Map<String, String> map = new HashMap<>();
        map.put("uid", 3690 + "");
        OkHttp3Util.doPost(ApiUtil.zhuangtai, map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                final String string = response.body().string();
                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        if (response.isSuccessful()) {
                            Gson gson = new Gson();
                            ZhuangTai_bean zhuangTai_bean = gson.fromJson(string, ZhuangTai_bean.class);
                            if ("0".equals(zhuangTai_bean.getCode())) {
                                String ss = DingDanActivity.ss;
                                List<ZhuangTai_bean.DataBean> data = zhuangTai_bean.getData();
                                if (ss.equals("全部")) {
                                    list.clear();
                                    list.addAll(data);
                                } else if (ss.equals("待支付")) {
                                    list.clear();
                                    for (ZhuangTai_bean.DataBean d : data) {
                                        if (d.getStatus() == 0) {
                                            list.add(d);
                                        }
                                    }
                                } else if (ss.equals("已支付")) {
                                    list.clear();
                                    for (ZhuangTai_bean.DataBean d : data) {
                                        if (d.getStatus() == 1) {
                                            list.add(d);
                                        }
                                    }
                                } else if (ss.equals("已取消")) {
                                    list.clear();
                                    for (ZhuangTai_bean.DataBean d : data) {
                                        if (d.getStatus() == 2) {
                                            list.add(d);
                                        }
                                    }
                                }
                                if (list.size() > 0) {
                                    setDingDanAdapter();
                                } else {
                                    Toast.makeText(getActivity(), "该状态下没有订单", Toast.LENGTH_SHORT).show();
                                }
                            } else {
                                Toast.makeText(getActivity(), zhuangTai_bean.getMsg(), Toast.LENGTH_SHORT).show();
                            }
                        }
                    }
                });
            }

        });
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);


    }
    public void setDingDanAdapter(){
        if(myDingDanAdapter==null){
            myDingDanAdapter = new MyDingDanAdapter(getActivity(), list);
            dingdanMyListView.setAdapter(myDingDanAdapter);
        }else{
            myDingDanAdapter.notifyDataSetChanged();
        }

    }
}

 

 

 

 

-----Fragment类布局------

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">
  <com.example.administrator.gouwuche_20171219.view.zidingyi_shitu.MyScrollView
      android:id="@+id/dingdanMyScrollView"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
      <com.example.administrator.gouwuche_20171219.view.zidingyi_shitu.MyListView
          android:id="@+id/dingdanMyListView"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

      </com.example.administrator.gouwuche_20171219.view.zidingyi_shitu.MyListView>
  </com.example.administrator.gouwuche_20171219.view.zidingyi_shitu.MyScrollView>

</LinearLayout>

 

 

 

-----自定义MyScrollView-----

 

package com.example.administrator.gouwuche_20171219.view.zidingyi_shitu;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ScrollView;

/**
 * Created by Administrator on 2017/12/20/020.
 */

public class MyScrollView extends ScrollView {
    public interface ScrollViewListener{
        void onScrollChanged(MyScrollView myScrollView, int x, int y, int oldx, int oldy);
    }

    private ScrollViewListener scrollViewListener = null;

    public void setScrollViewListener(ScrollViewListener scrollViewListener) {
        this.scrollViewListener = scrollViewListener;
    }

    public MyScrollView(Context context) {
        super(context);
    }

    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onScrollChanged(int x, int y, int oldx, int oldy) {
        super.onScrollChanged(x, y, oldx, oldy);
        if(getScrollY() + getHeight() >=  computeVerticalScrollRange()) {
            if (scrollViewListener != null) {
                scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
            }
        }
    }
}

 

 

 

-----自定义MyListView-----

 

package com.example.administrator.gouwuche_20171219.view.zidingyi_shitu;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

/**
 * Created by Administrator on 2017/12/20/020.
 */

public class MyListView extends ListView {
    public MyListView(Context context) {
        super(context);
    }

    public MyListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
                MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}

 

 

 

------适配器------

 

package com.example.administrator.gouwuche_20171219.view.adapter;

import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;

import com.example.administrator.gouwuche_20171219.R;
import com.example.administrator.gouwuche_20171219.model.bean.CartBean;
import com.example.administrator.gouwuche_20171219.model.bean.ZhuangTai_bean;
import com.example.administrator.gouwuche_20171219.util.OkHttp3Util;

import java.io.IOException;
import java.util.ArrayList;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

/**
 * Created by Administrator on 2017/12/20.
 */

public class MyDingDanAdapter extends BaseAdapter{
    Context context;
    ArrayList<ZhuangTai_bean.DataBean> list;

    public MyDingDanAdapter(Context context, ArrayList<ZhuangTai_bean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

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

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if(view==null){
            view=View.inflate(context, R.layout.dingdanbuju,null);
        }
        TextView dingdanTitle = view.findViewById(R.id.dingdanTitle);
        TextView dingdanStute = view.findViewById(R.id.dingdanStute);
        TextView dingdanPrice = view.findViewById(R.id.dingdanPrice);
        TextView dingdanTime = view.findViewById(R.id.dingdanTime);
        Button dingdanAnNiu = view.findViewById(R.id.dingdanAnNiu);
        ZhuangTai_bean.DataBean dataBean = list.get(i);
        dingdanTitle.setText(dataBean.getTitle());
        if(dataBean.getStatus()==0){
            dingdanStute.setText("待支付");
            dingdanAnNiu.setText("取消订单");
        }else if(dataBean.getStatus()==1){
            dingdanStute.setText("已支付");
            dingdanAnNiu.setText("查看订单");
        }else if(dataBean.getStatus()==2){
            dingdanStute.setText("已取消");
            dingdanAnNiu.setText("查看订单");
        }
        dingdanPrice.setText("价格:¥"+dataBean.getPrice());
        dingdanTime.setText(dataBean.getCreatetime());
        return view;
    }
}

----适配器布局----

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">
<LinearLayou
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:textColor="#000"
        android:id="@+id/dingdanTitle"
        android:layout_width="300dp"
        android:layout_height="wrap_content" />
    <TextView
        android:textColor="#f00"
        android:id="@+id/dingdanStute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayou>
    <TextView
        android:textColor="#f00"
        android:id="@+id/dingdanPrice"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/dingdanTime"
            android:layout_width="300dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/dingdanAnNiu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
</LinearLayout>

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值