订单信息

来源:互联网 发布:网络宣传要会什么 编辑:程序博客网 时间:2024/05/17 04:08


 <uses-permission android:name="android.permission.INTERNET"/>


activity_main布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    ><LinearLayout    android:orientation="horizontal"    android:layout_width="match_parent"    android:layout_height="wrap_content">    <TextView        android:layout_marginLeft="100dp"        android:layout_gravity="center_horizontal"        android:padding="15dp"        android:gravity="center"        android:textSize="23sp"        android:text="订单列表"        android:layout_width="0dp"        android:layout_weight="2"        android:layout_height="wrap_content" />    <ImageView        android:layout_marginLeft="25dp"        android:layout_gravity="center"        android:id="@+id/image"        android:src="@drawable/lv_icon"        android:layout_width="0dp"        android:layout_weight="1"        android:layout_height="40dp" /></LinearLayout>    <TextView        android:background="#000000"        android:layout_width="match_parent"        android:layout_height="1dp" />    <RadioGroup        android:id="@+id/group"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">        <RadioButton            android:id="@+id/btn1"            android:padding="15dp"            android:gravity="center"           android:layout_weight="1"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:button="@null"            android:textSize="20sp"            android:text="待支付"            />        <RadioButton            android:id="@+id/btn2"            android:padding="15dp"            android:gravity="center"            android:layout_weight="1"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:button="@null"            android:textSize="20sp"            android:text="已支付"            />        <RadioButton            android:id="@+id/btn3"            android:padding="15dp"            android:gravity="center"            android:layout_weight="1"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:button="@null"            android:textSize="20sp"            android:text="已取消"            />    </RadioGroup>    <TextView        android:background="#000000"        android:layout_width="match_parent"        android:layout_height="1dp" /><com.liaoinstan.springview.widget.SpringView    android:id="@+id/springView"    android:layout_width="match_parent"    android:layout_height="match_parent">    <android.support.v7.widget.RecyclerView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/recyclerView"        /></com.liaoinstan.springview.widget.SpringView></LinearLayout>





MainActivity主类


package com.example.menglucywhh.day1120_zhoukao3;import android.graphics.drawable.BitmapDrawable;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.PopupWindow;import android.widget.RadioGroup;import android.widget.TextView;import android.widget.Toast;import com.example.menglucywhh.day1120_zhoukao3.adapter.MyRecyAdapter;import com.example.menglucywhh.day1120_zhoukao3.bean.DingdanBean;import com.example.menglucywhh.day1120_zhoukao3.callback.MyViewCallBack;import com.example.menglucywhh.day1120_zhoukao3.callback.MyViewCallBack2;import com.example.menglucywhh.day1120_zhoukao3.presenter.MyPresenter;import com.liaoinstan.springview.container.DefaultFooter;import com.liaoinstan.springview.container.DefaultHeader;import com.liaoinstan.springview.widget.SpringView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements MyViewCallBack{    private RadioGroup radioGroup;    private RecyclerView recyclerView;    private List<DingdanBean.DataBean> listDingdan;    private MyRecyAdapter myRecyAdapter;    private ImageView imageView;    private SpringView springView;    int page=2;    int status = 0;    private MyPresenter myPresenter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        springView = (SpringView) findViewById(R.id.springView);        imageView = (ImageView) findViewById(R.id.image);        imageView.setTag(1);//设置标记为1,,显示        radioGroup = (RadioGroup) findViewById(R.id.group);        recyclerView = (RecyclerView) findViewById(R.id.recyclerView);        //new出P层对象        myPresenter = new MyPresenter(this);        //调用p层的方法        myPresenter.getDataFromModel(page);        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);        recyclerView.setLayoutManager(linearLayoutManager);        //springview的设置        springView.setHeader(new DefaultHeader(MainActivity.this));        springView.setFooter(new DefaultFooter(MainActivity.this));        springView.setListener(new SpringView.OnFreshListener() {            @Override            public void onRefresh() {                  page=1;                myPresenter.getDataFromModel(page);                springView.onFinishFreshAndLoad();                Toast.makeText(MainActivity.this,"下拉刷新成功",Toast.LENGTH_SHORT).show();            }            @Override            public void onLoadmore() {                page++;                myPresenter.getDataFromModel(page);                springView.onFinishFreshAndLoad();                Toast.makeText(MainActivity.this,"上拉加载成功",Toast.LENGTH_SHORT).show();            }        });        //引入popuowindow 的布局文件       View contentView = View.inflate(MainActivity.this,R.layout.popup_window,null);       //父窗体        final View parent = View.inflate(MainActivity.this,R.layout.activity_main,null);        //通过构造方法创建一个popupwindow        final PopupWindow popupWindow = new PopupWindow(contentView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);        //出现的问题,需要设置4个下面的        popupWindow.setTouchable(true);//窗体可以触摸        popupWindow.setFocusable(true);//让窗体获取焦点        popupWindow.setOutsideTouchable(true);//设置窗体外部可以触摸        popupWindow.setBackgroundDrawable(new BitmapDrawable());//设置背景        //获取自定义的popupwindow里面的id,3个textview        TextView daizhifu = (TextView) contentView.findViewById(R.id.daizhifu);        TextView yizhifu = (TextView) contentView.findViewById(R.id.yizhifu);        TextView yiquxiao = (TextView) contentView.findViewById(R.id.yiquxiao);        daizhifu.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                popupWindow.dismiss();//弹窗取消                status=0;                listDingdan.clear();              myPresenter.popUpQingqiu(status);                Toast.makeText(MainActivity.this,status+"",Toast.LENGTH_SHORT).show();            }        });        yizhifu.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                popupWindow.dismiss();                status=1;                listDingdan.clear();                myPresenter.popUpQingqiu(status);                Toast.makeText(MainActivity.this,status+"",Toast.LENGTH_SHORT).show();            }        });        yiquxiao.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                popupWindow.dismiss();                status=2;                listDingdan.clear();                myPresenter.popUpQingqiu(status);                Toast.makeText(MainActivity.this,status+"",Toast.LENGTH_SHORT).show();            }        });        //点击右上角的图片 出来popupwindow       imageView.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View v) {                   //显示popupwindow                    popupWindow.showAsDropDown(imageView);//显示在控件的左下方           }       });    }    //实现接口重写的方法    @Override    public void viewSuccess(DingdanBean dingdanBean) {       // System.out.println(dingdanBean.getData().get(0).getTitle());          if(listDingdan==null){              listDingdan=new ArrayList<>();          }        listDingdan.addAll(dingdanBean.getData());        //new适配器        if(myRecyAdapter==null) {            myRecyAdapter = new MyRecyAdapter(MainActivity.this,listDingdan, new MyViewCallBack2() {                @Override                public void viewSuccess2(final String data) {                    runOnUiThread(new Runnable() {                        @Override                        public void run() {                            Toast.makeText(MainActivity.this,data,Toast.LENGTH_SHORT).show();                        }                    });                }                @Override                public void viewFail2() {                    runOnUiThread(new Runnable() {                        @Override                        public void run() {                            Toast.makeText(MainActivity.this,"网络慢",Toast.LENGTH_SHORT).show();                        }                    });                }            });           // myRecyAdapter.addData(listDingdan);            recyclerView.setAdapter(myRecyAdapter);        }else{            myRecyAdapter.notifyDataSetChanged();        }    }    @Override    public void viewFail(Exception e) {        System.out.println("异常 : "+e);    }    @Override    protected void onDestroy() {        super.onDestroy();        myPresenter.detach();    }}


封装类okhttp

OkhttpUtils类


package com.example.menglucywhh.day1120_zhoukao3.okhttp;import java.util.Map;import java.util.concurrent.TimeUnit;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;/** * Created by Menglucywhh on 2017/11/20. */public class OkhttpUtils {    private static OkhttpUtils okhttpUtils = null;    private OkhttpUtils(){    }    public static OkHttpClient client;  public static OkhttpUtils getInstance(){      if(okhttpUtils==null){          okhttpUtils = new OkhttpUtils();        client = new OkHttpClient.Builder()                .readTimeout(20, TimeUnit.SECONDS)                .writeTimeout(20,TimeUnit.SECONDS)                .connectTimeout(20,TimeUnit.SECONDS)                .addInterceptor(new MyInterceptor())                .build();      }      return okhttpUtils;  }    public void asy(Map<String,String> params,String url,AbstractUiCallBack callBack){        Request request = null;        if(params!=null){            FormBody.Builder builder = new FormBody.Builder();            for(Map.Entry<String,String> entry : params.entrySet()){                builder.add(entry.getKey(),entry.getValue());            }            FormBody body = builder.build();            request = new Request.Builder()                    .url(url)                    .post(body)                    .build();        }else{            request = new Request.Builder()                    .url(url)                    .build();        }        client.newCall(request).enqueue(callBack);    }    public void asy1(Map<String,Integer> params,String url,AbstractUiCallBack callBack){        Request request = null;        if(params!=null){            FormBody.Builder builder = new FormBody.Builder();            for(Map.Entry<String,Integer> entry : params.entrySet()){                builder.add(entry.getKey(),String.valueOf(entry.getValue()));            }            FormBody body = builder.build();            request = new Request.Builder()                    .url(url)                    .post(body)                    .build();        }else{            request = new Request.Builder()                    .url(url)                    .build();        }        client.newCall(request).enqueue(callBack);    }}


MyInterceptor

package com.example.menglucywhh.day1120_zhoukao3.okhttp;import java.io.IOException;import okhttp3.Interceptor;import okhttp3.Request;import okhttp3.Response;/** * Created by Menglucywhh on 2017/11/20. */public class MyInterceptor implements Interceptor{    @Override    public Response intercept(Chain chain) throws IOException {        Request request = chain.request();        String url = request.url().toString()+"?source=android";        Request.Builder builder = request.newBuilder();        builder.get().url(url);        Request request1 = builder.build();        Response response = chain.proceed(request1);        return response;    }}



AbstractUiCallBack类


package com.example.menglucywhh.day1120_zhoukao3.okhttp;import android.os.Handler;import android.os.Looper;import com.google.gson.Gson;import java.io.IOException;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import okhttp3.Call;import okhttp3.Callback;import okhttp3.Response;/** * Created by Menglucywhh on 2017/11/20. */public abstract  class AbstractUiCallBack<T> implements Callback{    public abstract void success(T t);    public abstract void fail(Exception e);     private Handler handler = null;    private Class clazz;    public AbstractUiCallBack(){        handler = new Handler(Looper.getMainLooper());        Type type = getClass().getGenericSuperclass();        Type[] arr = ((ParameterizedType)type).getActualTypeArguments();        clazz = (Class) arr[0];    }    @Override    public void onFailure(Call call, IOException e) {        fail(e);    }    @Override    public void onResponse(Call call, Response response) throws IOException {        try {          String result = response.body().string();        Gson gson = new Gson();        final  T t = (T) gson.fromJson(result,clazz);        handler.post(new Runnable() {            @Override            public void run() {                success(t);//成功的回调出去            }        });        }catch (Exception e){            e.printStackTrace();            fail(e);//失败的回调        }    }}

view层

MyViewCallBack

package com.example.menglucywhh.day1120_zhoukao3.callback;import com.example.menglucywhh.day1120_zhoukao3.bean.DingdanBean;/** * Created by Menglucywhh on 2017/11/20. */public interface MyViewCallBack {    public void viewSuccess(DingdanBean dingdanBean);    public void viewFail(Exception e);}

MyViewCallBack2

package com.example.menglucywhh.day1120_zhoukao3.callback;import com.example.menglucywhh.day1120_zhoukao3.bean.DingdanBean;/** * Created by Menglucywhh on 2017/11/20. */public interface MyViewCallBack2 {    public void viewSuccess2(String data);    public void viewFail2();}

model层

MyModel


package com.example.menglucywhh.day1120_zhoukao3.model;import com.example.menglucywhh.day1120_zhoukao3.bean.DingdanBean;import com.example.menglucywhh.day1120_zhoukao3.callback.MyViewCallBack;import com.example.menglucywhh.day1120_zhoukao3.okhttp.AbstractUiCallBack;import com.example.menglucywhh.day1120_zhoukao3.okhttp.OkhttpUtils;import java.io.IOException;import java.security.PublicKey;import java.util.HashMap;import java.util.Map;import okhttp3.Call;import okhttp3.Callback;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;/** * Created by Menglucywhh on 2017/11/20. */public class MyModel {    //model层中请求数据    public void getData(int page,final ModelCallBack modelCallBack) {        //调用封装好的okhttp类      Map<String,String> params = new HashMap<>();        params.put("uid","71");        String path="https://www.zhaoapi.cn/product/getOrders?uid=71&page="+page;        OkhttpUtils.getInstance().asy(null,path, new AbstractUiCallBack<DingdanBean>() {            @Override            public void success(DingdanBean dingdanBean) {                //成功返回数据                modelCallBack.success(dingdanBean);            }            @Override            public void fail(Exception e) {               modelCallBack.fail(e);            }        });    }    //model层中请求数据,待支付 已支付 已取消    public void popUpGetData(int status,final ModelCallBack modelCallBack) {        //调用封装好的okhttp类        String path="https://www.zhaoapi.cn/product/getOrders?uid=71&page=1&status="+status;        OkhttpUtils.getInstance().asy(null,path, new AbstractUiCallBack<DingdanBean>() {            @Override            public void success(DingdanBean dingdanBean) {                //成功返回数据                modelCallBack.success(dingdanBean);            }            @Override            public void fail(Exception e) {                modelCallBack.fail(e);            }        });    }    //model层中请求数据 取消订单的接口    public void quXiao(final int orderid, final ModelCallBack1 modelCallBack1) {        //调用封装好的okhttp类//String quXiaoPath1 = "https://www.zhaoapi.cn/product/updateOrder?uid=71&orderId=\"+listDa.get(position).getOrderid()+\"&status=2";String quXiaoPath = "https://www.zhaoapi.cn/product/updateOrder";        OkHttpClient client = new OkHttpClient();        FormBody body = new FormBody.Builder()                .add("uid","71")                .add("orderId",String.valueOf(orderid))                .add("status","2")                .build();        Request request = new Request.Builder()                .post(body)                .url(quXiaoPath)                .build();        Call call = client.newCall(request);        call.enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {                modelCallBack1.fail();            }            @Override            public void onResponse(Call call, Response response) throws IOException {                modelCallBack1.success(response.body().string());            }        });    }    //model层的接口    public interface ModelCallBack{        public void success(DingdanBean dingdanBean);        public void fail(Exception e);    }    //model层的接口    public interface ModelCallBack1{        public void success(String body);        public void fail();    }}

presenter

MyPresenter

package com.example.menglucywhh.day1120_zhoukao3.presenter;import com.example.menglucywhh.day1120_zhoukao3.MainActivity;import com.example.menglucywhh.day1120_zhoukao3.bean.DingdanBean;import com.example.menglucywhh.day1120_zhoukao3.callback.MyViewCallBack;import com.example.menglucywhh.day1120_zhoukao3.model.MyModel;/** * Created by Menglucywhh on 2017/11/20. */public class MyPresenter {   MyModel myModel = new MyModel();    MyViewCallBack myViewCallBack;    public MyPresenter(MyViewCallBack myViewCallBack) {        this.myViewCallBack = myViewCallBack;    }    //调用model层去访问数据    public void getDataFromModel(int page){        myModel.getData(page,new MyModel.ModelCallBack() {            @Override            public void success(DingdanBean dingdanBean) {                myViewCallBack.viewSuccess(dingdanBean);            }            @Override            public void fail(Exception e) {            myViewCallBack.viewFail(e);            }        });    }    //调用model层去访问数据    public void popUpQingqiu(int status){        myModel.popUpGetData(status,new MyModel.ModelCallBack() {            @Override            public void success(DingdanBean dingdanBean) {                myViewCallBack.viewSuccess(dingdanBean);            }            @Override            public void fail(Exception e) {                myViewCallBack.viewFail(e);            }        });    }    //防止内存泄露    public void detach(){        this.myViewCallBack = null;    }}


适配器

MyRecyAdapter

package com.example.menglucywhh.day1120_zhoukao3.adapter;import android.content.Context;import android.content.DialogInterface;import android.graphics.Color;import android.support.v7.app.AlertDialog;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.TextView;import com.example.menglucywhh.day1120_zhoukao3.MainActivity;import com.example.menglucywhh.day1120_zhoukao3.R;import com.example.menglucywhh.day1120_zhoukao3.bean.DingdanBean;import com.example.menglucywhh.day1120_zhoukao3.callback.MyViewCallBack2;import com.example.menglucywhh.day1120_zhoukao3.model.MyModel;import java.util.ArrayList;import java.util.List;/** * Created by Menglucywhh on 2017/11/20. */public class MyRecyAdapter extends RecyclerView.Adapter<MyRecyAdapter.MyViewHolder>{    MyModel myModel = new MyModel();   // private List<DingdanBean.DataBean> listDa ;    Context context;    MyViewCallBack2 myViewCallBack2;    List<DingdanBean.DataBean> listDa;    public MyRecyAdapter(Context context, List<DingdanBean.DataBean> listDa, MyViewCallBack2 myViewCallBack2) {        this.myViewCallBack2 = myViewCallBack2;        this.context = context;        this.listDa = listDa;    }//接受传来的数据 适配    /*public void addData(List<DingdanBean.DataBean> listDingdan) {        if(listDa==null){            listDa = new ArrayList<>();        }        listDa.addAll(listDingdan);        notifyDataSetChanged();    }*/    @Override    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view = View.inflate(context,R.layout.my_recy,null);        MyViewHolder myViewHolder = new MyViewHolder(view);        return myViewHolder;    }    @Override    public void onBindViewHolder(final MyViewHolder holder, final int position) {        //设置显示        holder.price.setText("价格 : "+listDa.get(position).getPrice()+"");        holder.time.setText("创建时间 : "+listDa.get(position).getCreatetime());        holder.title.setText(listDa.get(position).getTitle());        if(listDa.get(position).getStatus()==0) {            holder.status.setText("待支付");            holder.status.setTextColor(Color.RED);        }else if(listDa.get(position).getStatus()==1){            holder.status.setText("已支付");            holder.status.setTextColor(Color.BLACK);        }else{            holder.status.setText("已取消");            holder.status.setTextColor(Color.BLACK);        }        if(listDa.get(position).getStatus()==0) {            holder.quxiaoBtn.setText("取消订单");        }else if(listDa.get(position).getStatus()==1){            holder.quxiaoBtn.setText("查看订单");        }else{            holder.quxiaoBtn.setText("查看订单");        }        holder.quxiaoBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if(holder.quxiaoBtn.getText().toString().equals("取消订单")){                    final AlertDialog.Builder builder = new AlertDialog.Builder(context);                    builder.setTitle("提示");                    builder.setMessage("确定取消订单吗?");                    builder.setPositiveButton("是", new DialogInterface.OnClickListener() {                        @Override                        public void onClick(DialogInterface dialog, int which) {                            //改成已取消                            holder.status.setText("已取消");                            holder.status.setTextColor(Color.BLACK);                            holder.quxiaoBtn.setText("查看订单");                            //取消的接口          String path="https://www.zhaoapi.cn/product/updateOrder?uid=71&orderId="+listDa.get(position).getOrderid()+"&status=2";                       //调用model层的取消接口的方法                            int orderid =listDa.get(position).getOrderid();                            myModel.quXiao(orderid, new MyModel.ModelCallBack1() {                                @Override                                public void success(String body) {                                    myViewCallBack2.viewSuccess2(body);                                }                                @Override                                public void fail() {                                    myViewCallBack2.viewFail2();                                }                            });                        }                    });                    builder.setNegativeButton("否", new DialogInterface.OnClickListener() {                        @Override                        public void onClick(DialogInterface dialog, int which) {                        }                    });                    builder.show();                }            }        });    }    @Override    public int getItemCount() {        return listDa==null?0:listDa.size();    }    public static class MyViewHolder extends RecyclerView.ViewHolder {        private final TextView title;        private final TextView status;        private final TextView price;        private final TextView time;        private final Button quxiaoBtn;        public MyViewHolder(View itemView) {            super(itemView);            title = (TextView) itemView.findViewById(R.id.title);            status = (TextView) itemView.findViewById(R.id.status);            price = (TextView) itemView.findViewById(R.id.price);            time = (TextView) itemView.findViewById(R.id.time);            quxiaoBtn = (Button) itemView.findViewById(R.id.quxiao);        }    }}

popup_window布局


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#FDCDEC">    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical"        android:padding="10dp">        <TextView            android:padding="10dp"            android:id="@+id/daizhifu"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="待支付"            android:textSize="20sp"            android:textStyle="bold" />        <TextView            android:padding="10dp"            android:id="@+id/yizhifu"            android:textSize="20sp"            android:textStyle="bold"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="已支付" />        <TextView            android:padding="10dp"            android:id="@+id/yiquxiao"            android:textSize="20sp"            android:textStyle="bold"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="已取消" />    </LinearLayout></RelativeLayout>



适配器布局my_recy


<?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">    <LinearLayout        android:padding="10dp"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">    <TextView        android:id="@+id/title"        android:textStyle="bold"        android:textSize="23sp"        android:text="订单测试标题"        android:layout_width="0dp"        android:layout_weight="3"        android:layout_height="wrap_content" />        <TextView            android:layout_marginLeft="200dp"            android:id="@+id/status"            android:textColor="#ff0000"            android:textSize="20sp"            android:text="待支付"            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="wrap_content" />    </LinearLayout>    <TextView        android:textColor="#ff0000"        android:padding="10dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/price"        android:textStyle="bold"        android:textSize="20sp"        android:text="价格"       />    <LinearLayout        android:gravity="center_vertical"        android:padding="10dp"        android:orientation="horizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content">        <TextView            android:id="@+id/time"            android:textStyle="bold"            android:textSize="20sp"            android:text="创建时间"            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="wrap_content" />        <Button            android:layout_marginLeft="100dp"            android:id="@+id/quxiao"            android:textSize="20sp"            android:text="取消订单"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />    </LinearLayout>    <TextView        android:layout_width="match_parent"        android:layout_height="1dp"        android:background="#000"        /></LinearLayout>