订单信息


 <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>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值