----结算类-------
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>